@charset "UTF-8";
/*サイトテンプレートベーススタイル*/
@font-face {
  font-family: 'akazuki';
  src: url("../fonts/AkazukiPOP.woff") format("woff"), url("../fonts/AkazukiPOP.ttf") format("truetype"), url("../fonts/AkazukiPOP.otf") format("opentype"); }
html, body {
  min-height: 100vh;
  background-color: #FFFFFF;
  position: relative;
  z-index: -1; }

#wrp {
  min-height: 100vh;
  position: relative;
  z-index: -1; }

#sticky_wrp {
  min-height: 100vh;
  position: relative; }

/* Common Classes//=================*/
a {
  text-decoration: none;
  color: coral; }
  a:hover, a:active {
    text-decoration: underline; }

.flex_column {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch; }

.flex_column_rev {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  align-items: stretch; }

.flex_row {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center; }
  .flex_row.center {
    justify-content: center; }

.flex_row_rev {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: stretch; }

.flex_ratio_64 {
  justify-content: space-between; }
  .flex_ratio_64 > *:first-child {
    width: 58%; }
  .flex_ratio_64 > *:last-child {
    width: 40%; }

/*リンクリストの画像ボタン*/
.listimg_block li a img {
  display: block;
  width: 100%;
  height: auto; }

/*ナビゲーション系のリスト*/
.navi_lists li {
  list-style: inside none; }

/*テキストでコピーをいれるクラス*/
.txt_copy {
  font-size: 0.925em;
  line-height: 1.4em;
  font-weight: bold;
  color: #333333; }
  .txt_copy.center {
    text-align: center; }
  .txt_copy.right {
    text-align: right; }
  .txt_copy.under_margin {
    margin-bottom: 1em; }

/*テキストのまとまりボックス*/
.txt_box {
  /*サムネイル系のキャプションの個別の見出し*/
  /*ブロック本文のタイトル*/
  /*汎用段落設定*/
  /*画像等のキャプション用、少し小さく行送りが狭めの設定*/
  /*幅を少し狭めに設定したい場合のクラス*/ }
  .txt_box .title_a_caption {
    font-weight: 700;
    line-height: 1.4em;
    margin-bottom: 1em;
    color: #2A2A2A; }
  .txt_box .title_blockBody {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 1.2em; }
  .txt_box p {
    line-height: 1.8em;
    font-weight: 100;
    color: #6E6E6E;
    margin-bottom: 1.6em; }
    .txt_box p:last-child {
      margin-bottom: 0; }
  .txt_box.txt_caption p {
    font-size: 0.8125em;
    line-height: 1.4em; }
  .txt_box.txt_narrow_width {
    width: 90%;
    margin-left: auto;
    margin-right: auto; }

/*詳細などへのリンクボタン*/
.btn_andmore {
  position: relative;
  width: fit-content;
  min-height: 60px;
  display: block;
  background-color: #FFFFFF;
  border: 2px solid #666666;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.16);
  border-radius: 35px;
  font-weight: 700;
  line-height: 1em;
  padding: 20px 59px 20px 27px;
  transition: background-color 0.3s, border-color 0.3s; }
  .btn_andmore::after {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-right: 2px solid #666666;
    border-bottom: 2px solid #666666;
    transform-origin: center;
    transform: rotate(-45deg);
    position: absolute;
    right: 27px;
    top: 22px; }
  .btn_andmore:hover {
    text-decoration: none;
    color: #FFFFFF;
    background-color: #FF7F50;
    border-color: #FFFFFF; }
    .btn_andmore:hover::after {
      border-color: #FFFFFF; }
  .btn_andmore.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding-left: 59px; }
  .btn_andmore.btn_wide_50 {
    width: 50%; }
  .btn_andmore.btn_wide_75 {
    width: 75%; }
  .btn_andmore.btn_wide_90 {
    width: 90%; }

.img_box {
  display: block;
  position: relative; }
  .img_box img {
    display: block;
    width: 100%;
    height: auto; }

/*下マージンのみ、追加したい場合のクラス*/
.margin_btm_10p {
  margin-bottom: 10px; }

.margin_btm_20p {
  margin-bottom: 20px; }

.margin_btm_30p {
  margin-bottom: 30px; }

.margin_btm_40p {
  margin-bottom: 40px; }

.margin_btm_50p {
  margin-bottom: 50px; }

.margin_btm_3h {
  margin-bottom: 3vh; }

.margin_btm_5h {
  margin-bottom: 5vh; }

.margin_btm_8h {
  margin-bottom: 8vh; }

.margin_btm_10h {
  margin-bottom: 10vh; }

/*エラー表示用*/
.error_message {
  text-align: center;
  line-height: 1.8em;
  color: #8A8A8A; }

/* //Common Classes=================*/
/* Header// =====================*/
#site_hdr {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center; }
  #site_hdr.hdr_default {
    position: relative;
    flex-direction: column; }
  #site_hdr.hdr_scrolling {
    position: fixed;
    left: 0;
    top: 0;
    flex-direction: row;
    justify-content: space-between; }

#logo_wrp {
  padding: 5px 0px 6px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.26);
  background-color: #FFFFFF;
  position: relative;
  z-index: 1; }

#head_logo a {
  display: block;
  width: 80%;
  max-width: 280px;
  margin: 0px auto; }
  #head_logo a img {
    display: block;
    width: 100%;
    height: auto; }

#hero_wrp {
  background: url("../images/hero.jpg") no-repeat center center;
  background-size: cover;
  height: 67vh;
  max-height: 519px;
  width: 100vw;
  border-bottom: 3px solid #FFFFFF;
  position: relative; }

#kirara_family {
  position: absolute;
  left: 5vw;
  bottom: 3vh;
  width: 35%;
  max-width: 350px;
  height: auto;
  display: block; }

#grand_menu_wrp {
  width: 100vw;
  background-color: #C50813;
  border-bottom: 7px solid #8B0810; }
  #grand_menu_wrp ul {
    list-style: none;
    margin-left: 3vw;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center; }
    #grand_menu_wrp ul li {
      padding: 0 1px;
      margin: 0px 1px; }
      #grand_menu_wrp ul li:last-child {
        border-right: none; }
      #grand_menu_wrp ul li.btn_closebtn {
        display: none; }
      #grand_menu_wrp ul li a {
        display: flex;
        justify-content: center;
        align-items: stretch;
        padding: 1.75em 1em 1.6em;
        position: relative;
        color: #FFE2AC;
        font-size: 0.875em; }
        #grand_menu_wrp ul li a::after {
          content: '';
          display: block;
          position: absolute;
          width: 0%;
          height: 2px;
          background-color: #FFD04F;
          left: 50%;
          bottom: 0;
          transition: width 0.3s, left 0.3s, background-color 1s; }
        #grand_menu_wrp ul li a:hover {
          text-decoration: none;
          color: #FFF3DF; }
          #grand_menu_wrp ul li a:hover::after {
            width: 100%;
            left: 0;
            background-color: #FFF3DF; }
  #grand_menu_wrp .btn_menuopen {
    display: none; }

.hdr_default #logo_wrp {
  width: 100%;
  align-items: center; }
.hdr_default #head_logo {
  width: 300px; }
.hdr_default #catchcopy {
  color: #1C222E;
  font-size: 0.825em;
  font-weight: 700;
  line-height: 1em;
  margin-bottom: 1.5em;
  width: 100%;
  text-align: center;
  background-color: #ff7f50;
  padding: 0.5em 0; }
.hdr_default #grand_menu_wrp {
  width: 100%; }
  .hdr_default #grand_menu_wrp ul {
    justify-content: flex-start; }

@media (max-width: 900px) {
  #grand_menu_wrp {
    padding: 12px 0px 12px 3vw; }
    #grand_menu_wrp ul {
      position: fixed;
      left: -80%;
      top: 50%;
      width: 80%;
      height: 100vh;
      background-color: #C50813;
      border-right: 7px solid #8B0810;
      transform: translate(0, -50%);
      flex-direction: column;
      justify-content: center !important;
      align-items: stretch;
      margin-left: 0;
      box-shadow: 3px 0px 10px 0px rgba(0, 0, 0, 0.3);
      z-index: 2;
      display: none;
      transition: left 0.5s; }
      #grand_menu_wrp ul.isShow {
        display: flex; }
      #grand_menu_wrp ul.isOpen {
        left: 0%; }
      #grand_menu_wrp ul li a {
        justify-content: flex-start; }
      #grand_menu_wrp ul li.btn_menuclose {
        padding: 0;
        margin: 3em 0 0 1em;
        position: relative; }
        #grand_menu_wrp ul li.btn_menuclose::before, #grand_menu_wrp ul li.btn_menuclose::after {
          content: '';
          display: block;
          width: 24px;
          height: 2px;
          background-color: #FFE2AC;
          position: absolute;
          left: 0;
          top: 50%; }
        #grand_menu_wrp ul li.btn_menuclose::before {
          transform: translate(0, -50%) rotate(45deg); }
        #grand_menu_wrp ul li.btn_menuclose::after {
          transform: translate(0, -50%) rotate(-45deg); }
    #grand_menu_wrp .btn_menuopen {
      display: block;
      width: 24px;
      height: 24px;
      position: relative;
      cursor: pointer; }
      #grand_menu_wrp .btn_menuopen span {
        width: 24px;
        height: 2px;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translate(0, -50%);
        background-color: #FFE2AC; }
      #grand_menu_wrp .btn_menuopen::before, #grand_menu_wrp .btn_menuopen::after {
        content: '';
        display: block;
        width: 24px;
        height: 2px;
        background-color: #FFE2AC;
        position: absolute;
        left: 0; }
      #grand_menu_wrp .btn_menuopen::before {
        top: 0; }
      #grand_menu_wrp .btn_menuopen::after {
        bottom: 0; } }
.hdr_scrolling {
  padding: 0px 2vw; }
  .hdr_scrolling #logo_wrp {
    align-items: left; }
  .hdr_scrolling #head_logo {
    width: 200px; }
  .hdr_scrolling #catchcopy {
    color: #FFFFFF;
    font-size: 0.625em;
    line-height: 1em;
    margin-bottom: 0.8em;
    background-color: #ff7f50;
    padding: 0.3em 0.8em;
    border-radius: 1em; }
  .hdr_scrolling #grand_menu_wrp {
    width: 72vw; }
    .hdr_scrolling #grand_menu_wrp ul {
      justify-content: flex-end; }
      .hdr_scrolling #grand_menu_wrp ul li a {
        font-size: 0.825em; }

/* //Header =====================*/
/* Footer// =====================*/
#site_ftr {
  background: url("../images/bg_noise.png") repeat center center #131313;
  background-size: auto auto;
  background-attachment: fixed;
  border-bottom: 10px solid #93160C;
  padding-top: 15vh;
  position: relative; }

#sns_wrp {
  display: flex;
  flex-direction: column;
  align-items: center; }
  #sns_wrp > p {
    color: #F5CB88;
    font-size: 0.875em;
    font-weight: 700; }
  #sns_wrp ul li {
    margin: 0px 10px; }
    #sns_wrp ul li a {
      display: block;
      width: 40px;
      height: 40px; }
      #sns_wrp ul li a img {
        /*					background-color: #7C7C7C;
        					border-radius: 50%;
        					width: 100%;
        					height: 100%;*/ }

#foot_link_wrp {
  padding: 4vh 2vw;
  width: 96%;
  max-width: 1000px;
  margin: 0px auto;
  justify-content: space-between; }

.links_lists {
  flex-wrap: wrap;
  justify-content: center; }
  .links_lists li {
    width: calc((100% - 80px) / 4);
    list-style: none;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px; }
    .links_lists li img {
      display: block;
      width: 100%;
      height: auto; }

/* 幅480px〜999px */
@media (min-width: 480px) and (max-width: 999px) {
  .links_lists li {
    width: calc((100% - 48px) / 3);
    margin-left: 8px;
    margin-right: 8px; } }
/* 幅480px以下 */
@media (max-width: 480px) {
  .links_lists li {
    width: calc((100% - 32px) / 2);
    margin-left: 8px;
    margin-right: 8px; } }
#foot_logo_wrp {
  width: 12%; }
  #foot_logo_wrp a {
    display: block; }
    #foot_logo_wrp a img {
      display: block;
      width: 100%;
      height: auto; }

#sub_menu_wrp {
  width: 80%; }
  #sub_menu_wrp ul li {
    margin-right: 10px;
    padding-right: 10px;
    border-right: 2px solid #CCCCCC; }
    #sub_menu_wrp ul li a {
      font-size: 0.8em;
      line-height: 1em;
      padding: 0.3em 1em;
      width: fit-content; }

#copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.625em;
  line-height: 1em;
  color: #FED38D;
  height: 80px; }

#wrp_inpage_links {
  position: fixed;
  right: 0;
  bottom: 45px;
  width: 50px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.3);
  z-index: 1; }

.btn_gotoTop {
  width: 50px;
  height: 50px;
  display: block;
  background-color: #FFFFFF;
  position: relative;
  margin-bottom: 2px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #500D0F;
  opacity: 0.75;
  transition: opacity 0.2s; }
  .btn_gotoTop:hover {
    text-decoration: none;
    opacity: 1; }
  .btn_gotoTop span {
    font-size: 0.625em;
    text-align: center; }
  .btn_gotoTop::before {
    content: '';
    display: block;
    width: 11.3px;
    height: 11.3px;
    border-right: 3px solid #500D0F;
    border-bottom: 3px solid #500D0F;
    transform-origin: center;
    transform: rotate(225deg); }
  .btn_gotoTop.top {
    border-radius: 5px 0px 0px 0px; }
  .btn_gotoTop.btm {
    border-radius: 0px 0px 0px 5px; }

/* //Footer =====================*/
/* Main Contents area// =====================*/
#main_contents_wrp {
  background-color: #FFFFFF;
  overflow: hidden; }

.content_section {
  padding-bottom: 7.5vh;
  margin-bottom: 7.5vh;
  position: relative; }
  .content_section.section_type_A {
    padding-top: 7.5vh;
    margin-bottom: 0;
    background-image: url("../images/rounded_line_underside.png"), url("../images/rounded_line_upside.png"), url("../images/bg_noise.png");
    background-repeat: no-repeat, no-repeat, repeat;
    background-attachment: scroll, scroll, fixed;
    background-position: center top -20px, center bottom -10px, center;
    background-size: 100% 66px, 100% 66px, auto auto; }
  .content_section.section_type_C {
    background: url("../images/bg_noise_baige.png") repeat center center #EDE7E2;
    background-size: auto auto;
    margin-bottom: 0;
    padding-bottom: 200px; }

/* Section Headers */
.hdr_section {
  position: relative;
  margin-bottom: 5vh;
  /* 背景明色タイプ */
  /* 背景暗色タイプ */ }
  .hdr_section.unlimited_width {
    max-width: none; }
  .hdr_section .title_section {
    font-family: 'akazuki';
    font-size: 1.875em;
    line-height: 1.2em;
    padding-top: 1.2em;
    padding-bottom: 1em;
    position: relative;
    text-align: center; }
  .hdr_section .description_section {
    font-size: 1.125em;
    line-height: 1.4em;
    font-weight: 700;
    position: relative; }
  .hdr_section.type_noBG {
    margin-bottom: 2vh; }
    .hdr_section.type_noBG .title_section {
      color: #FFD38D; }
  .hdr_section.type_light {
    background: url("../images/bg_noise_baige.png") repeat center center #EDE7E2;
    background-size: auto; }
    .hdr_section.type_light .title_section {
      color: #800508; }
  .hdr_section.type_dark {
    background: url("../images/bg_noise.png") repeat center center #131313;
    background-size: auto; }
    .hdr_section.type_dark .title_section {
      color: #FFD38D; }

.content_block {
  position: relative;
  width: 96vw;
  max-width: 1310px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5vh;
  z-index: 1; }
  .content_block.unlimited_width {
    width: 100vw;
    max-width: none; }
  .content_block:last-child {
    margin-bottom: 0; }

/* Block Headers */
.hdr_block {
  margin-bottom: 3vh;
  position: relative; }
  .hdr_block .title_block {
    font-size: 2.5em;
    line-height: 1.4em;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    font-weight: 700;
    position: relative;
    width: fit-content;
    /*左寄せ*/
    /*センター揃え*/
    /*右寄せ*/ }
    .hdr_block .title_block::before, .hdr_block .title_block::after {
      content: '';
      display: block;
      position: absolute;
      width: 30%;
      max-width: 150px;
      height: 3px;
      background-color: #000000; }
    .hdr_block .title_block::before {
      left: 0;
      top: 0; }
    .hdr_block .title_block::after {
      right: 0;
      bottom: 0; }
    .hdr_block .title_block.left {
      padding-right: 2em;
      padding-left: 0.2em; }
    .hdr_block .title_block.center {
      text-align: center;
      padding-right: 0.2em;
      padding-left: 0.2em;
      margin-left: auto;
      margin-right: auto; }
    .hdr_block .title_block.right {
      text-align: right;
      padding-right: 0.2em;
      padding-left: 2em;
      margin-right: 0;
      margin-left: auto; }

/* グリーティング */
.first_greeting {
  background-color: #93160C;
  padding: 5vh 0;
  margin-bottom: -5px;
  position: relative;
  z-index: 1; }
  .first_greeting p {
    width: 96%;
    max-width: 1000px;
    margin: 0px auto;
    color: #FFFFFF;
    line-height: 2em; }

.title_greeting {
  font-family: 'akazuki';
  font-size: 2.5em;
  line-height: 1.2em;
  color: #FFD38D;
  text-align: center;
  width: 96%;
  margin: 0px auto 1em; }
  .title_greeting br {
    display: none; }

@media (max-width: 999px) {
  .title_greeting br {
    display: inline; } }
@media (max-width: 490px) {
  .title_greeting {
    font-size: 1.9em; } }
/* メイン紹介ムービー */
.content_block#video_feature {
  max-width: 900px;
  margin-bottom: 3vh; }
  .content_block#video_feature iframe {
    width: 100%;
    height: auto; }

/* サムネイルリスト */
.thumbnails {
  cursor: pointer;
  position: relative; }
  .thumbnails img {
    display: block;
    width: 100%;
    height: auto; }

.video_lists li .txt_box {
  padding: 1.6em 1.4em 2em;
  background-color: #EEEEEE; }

.img_lists li {
  cursor: pointer; }
  .img_lists li .wrp_shopname {
    margin-bottom: 10px;
    display: flex;
    align-items: center; }
    .img_lists li .wrp_shopname .shop_number {
      color: #FFFFFF;
      font-size: 1.125em;
      font-weight: 700;
      text-align: right;
      display: block;
      background-color: #F92522;
      border: 3px solid #FF6967;
      border-radius: 5px 20px 20px 5px;
      padding: 0.3em 0.5em 0.3em 1em;
      margin-right: 0.75em; }
    .img_lists li .wrp_shopname .shop_name {
      color: #500D0F;
      font-weight: 700; }
  .img_lists li .wrp_thumbnail {
    position: relative;
    transform-origin: center;
    transition: transform 0.1s;
    z-index: 1;
    border-radius: 5px;
    overflow: hidden; }
    .img_lists li .wrp_thumbnail:hover {
      transform: scale(1.02);
      z-index: 2;
      box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.25); }
      .img_lists li .wrp_thumbnail:hover .txt_box {
        opacity: 1;
        backdrop-filter: blur(5px); }
  .img_lists li .txt_box {
    backdrop-filter: blur(0px);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 10px 12px;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 0.2s;
    background-color: rgba(0, 0, 0, 0.05); }
    .img_lists li .txt_box .shop_info {
      background-color: #F5CB88;
      color: #3B3731;
      font-size: 0.875em;
      line-height: 1em;
      padding: 5px 10px;
      border-radius: 3px;
      margin-bottom: 3px; }
    .img_lists li .txt_box::after {
      content: '';
      display: block;
      width: 25%;
      height: 50%;
      position: absolute;
      left: 50%;
      top: 23%;
      transform: translate(-50%, 0);
      background: url("../images/btn_video_play.png") no-repeat center top;
      background-size: contain; }

.thumb_lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row; }
  .thumb_lists li {
    margin-bottom: 5vh;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    list-style: none; }
    .thumb_lists li .thumbnails::after {
      width: 60px;
      height: 60px;
      background-size: 120px 100%; }
  .thumb_lists.thumb_5 li {
    width: calc((100% - 40px) / 5);
    margin-right: 4px;
    margin-left: 4px; }
  .thumb_lists.thumb_4 li {
    width: calc((100% - 40px) / 4);
    margin-right: 5px;
    margin-left: 5px; }
  .thumb_lists.thumb_3 li {
    width: calc((100% - 60px) / 3);
    margin-right: 10px;
    margin-left: 10px; }
  .thumb_lists.thumb_fitWidth {
    padding-left: 2%;
    padding-right: 2%; }

/* 幅2000px以上 */
@media (min-width: 2000px) {
  .thumb_lists.thumb_fitWidth li {
    width: calc((100% - 48px) / 6);
    margin-right: 4px;
    margin-left: 4px; } }
/* 幅1310px〜1999px */
@media (min-width: 1310px) and (max-width: 1999px) {
  .thumb_lists.thumb_fitWidth li {
    width: calc((100% - 40px) / 5);
    margin-right: 4px;
    margin-left: 4px; } }
/* 幅1000px〜1309px */
@media (min-width: 1000px) and (max-width: 1309px) {
  .thumb_lists.thumb_fitWidth li {
    width: calc((100% - 40px) / 4);
    margin-right: 5px;
    margin-left: 5px; }
  .thumb_lists.thumb_5 li {
    width: calc((100% - 40px) / 4);
    margin-right: 5px;
    margin-left: 5px; }
  .thumb_lists.thumb_4 li {
    width: calc((100% - 36px) / 3);
    margin-right: 6px;
    margin-left: 6px; } }
/* 幅480px〜999px */
@media (min-width: 480px) and (max-width: 999px) {
  .thumb_lists.thumb_fitWidth li {
    width: calc((100% - 36px) / 3);
    margin-right: 6px;
    margin-left: 6px; }
  .thumb_lists.thumb_5 li {
    width: calc((100% - 36px) / 3);
    margin-right: 6px;
    margin-left: 6px; }
  .thumb_lists.thumb_4 li {
    width: calc((100% - 28px) / 2);
    margin-right: 7px;
    margin-left: 7px; }
  .thumb_lists.thumb_3 li {
    width: calc((100% - 28px) / 2);
    margin-right: 7px;
    margin-left: 7px; } }
/* 幅480px以下 */
@media (max-width: 480px) {
  .thumb_lists.thumb_fitWidth li {
    width: calc((100% - 28px) / 2);
    margin-right: 7px;
    margin-left: 7px; }
  .thumb_lists.thumb_5 li {
    width: calc((100% - 28px) / 2);
    margin-right: 7px;
    margin-left: 7px; }
  .thumb_lists.thumb_4 li {
    width: 100%;
    margin-right: 0px;
    margin-left: 0px; }
  .thumb_lists.thumb_3 li {
    width: 100%;
    margin-right: 0px;
    margin-left: 0px; } }
.label {
  position: relative; }
  .label::before {
    content: '';
    display: block;
    position: absolute;
    left: -5px;
    top: 15px;
    width: 5px;
    height: 5px;
    transform: skewY(45deg); }
  .label.new::before {
    background-color: #930008; }
  .label.feature::before {
    background-color: #1D2F95; }
  .label::after {
    display: block;
    position: absolute;
    left: -5px;
    top: -5px;
    width: fit-content;
    font-size: 12px;
    font-weight: 100;
    line-height: 22px;
    padding: 0 1em 0; }
  .label.new::after {
    content: 'NEW';
    background-color: #FC0D1B;
    color: #FFFFFF; }
  .label.feature::after {
    content: 'FEATURE';
    background-color: #3A52DF;
    color: #FFFFFF; }

/* video section */
/* featured video*/
.feat_vid_wrp {
  width: 47%;
  margin-left: 2%; }
  .feat_vid_wrp .thumbnails::after {
    width: 80px;
    height: 80px;
    background-size: 160px 100%; }

@media (max-width: 425px) {
  .feat_vid_wrp {
    width: 100%;
    margin-left: 0;
    margin-bottom: 1em; } }
.feat_vid_thumb {
  display: block;
  width: 100%;
  height: auto; }

/* Accordion Section */
.accordion_lists {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch; }

.accordion_titleSet {
  width: 100%;
  border-bottom: 1px solid #DDDDDD;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 1em 0;
  cursor: pointer;
  position: relative; }
  .accordion_titleSet::after {
    content: '';
    display: block;
    position: absolute;
    width: 50px;
    height: 1px;
    left: 0;
    bottom: -1px;
    background-color: coral;
    transition: width 1s; }
  .accordion_titleSet:hover::after {
    width: 100%; }
  .accordion_titleSet .date {
    width: fit-content;
    padding-right: 3em;
    padding-left: 0.2em;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .accordion_titleSet .date::after {
      content: 'NEW';
      background-color: #FC0D1B;
      color: #FFFFFF;
      display: block;
      width: fit-content;
      font-size: 12px;
      font-weight: 100;
      line-height: 22px;
      padding: 0 1em 0;
      margin-left: 0.5em;
      visibility: hidden; }
    .accordion_titleSet .date.new::after {
      visibility: visible; }
  .accordion_titleSet .title {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2em;
    width: 100%; }
  .accordion_titleSet .controller {
    width: 30px;
    height: 30px;
    position: relative;
    margin-left: 30px;
    margin-right: 0; }
    .accordion_titleSet .controller::before, .accordion_titleSet .controller::after {
      content: '';
      display: block;
      position: absolute;
      background-color: #898989;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%) rotate(0deg);
      transform-origin: center; }
    .accordion_titleSet .controller::before {
      width: 24px;
      height: 3px;
      transition: transform 0.35s; }
    .accordion_titleSet .controller::after {
      width: 3px;
      height: 24px;
      transition: transform 0.55s; }
    .accordion_titleSet .controller.isOpen::before {
      transform: translate(-50%, -50%) rotate(360deg); }
    .accordion_titleSet .controller.isOpen::after {
      transform: translate(-50%, -50%) rotate(270deg); }

.accordion_body {
  padding: 2em 3.5em 2em 4em;
  background-color: #F1F1F1;
  margin-bottom: 2vh;
  border-bottom: 1px solid #DCDCDC;
  border-radius: 0px 0px 5px 5px;
  display: none; }
  .accordion_body::after {
    content: '';
    display: block;
    clear: both;
    height: 1px; }
  .accordion_body p {
    line-height: 1.8em;
    margin-bottom: 1.8em; }
    .accordion_body p:last-child {
      margin-bottom: 0; }
  .accordion_body figure {
    max-width: 280px;
    margin-bottom: 1.8em; }
    .accordion_body figure.img_inline {
      display: inline-block; }
    .accordion_body figure.img_block {
      display: block; }
    .accordion_body figure.left {
      float: left;
      margin-right: 1.8em; }
    .accordion_body figure.center {
      margin-left: auto;
      margin-right: auto; }
    .accordion_body figure.right {
      float: right;
      margin-left: 1.8em; }
    .accordion_body figure:last-child {
      margin-bottom: 0; }
    .accordion_body figure img {
      display: block;
      width: 100%;
      height: auto; }
    .accordion_body figure figcaption {
      font-size: 0.875em;
      line-height: 1.2em;
      color: #787878;
      padding: 0.5em; }

/* マップ */
.wrp_kirara_comment {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-bottom: 3em; }
  .wrp_kirara_comment .comment {
    background-color: #FFFFFF;
    border: 5px solid #FFD48D;
    padding: 2em 3em;
    border-radius: 40px;
    text-align: center;
    font-size: 1.25em;
    font-weight: 700;
    line-height: 1em;
    position: relative;
    box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.3);
    margin-right: 20px;
    color: #492F23;
    position: relative; }
    .wrp_kirara_comment .comment br {
      display: none; }
  .wrp_kirara_comment .kirara {
    display: block;
    width: 170px;
    position: relative;
    transform: translate(0, 20px);
    animation: kiraracommentmove 3s ease 0.2s infinite; }
    .wrp_kirara_comment .kirara img {
      display: block;
      width: 100%;
      height: auto; }

@keyframes kiraracommentmove {
  0% {
    transform: translate(0, 20px); }
  50% {
    transform: translate(0, 40px); }
  100% {
    transform: translate(0, 20px); } }
@media (max-width: 800px) {
  .wrp_kirara_comment .comment {
    padding: 1.5em 2em;
    border-radius: 30px;
    font-size: 1.125em;
    margin-right: 10px; }
    .wrp_kirara_comment .comment br {
      display: inline; } }
.wrp_map {
  width: 96%;
  max-width: 1200px;
  margin: 0px auto; }
  .wrp_map img {
    display: block;
    width: 100%;
    height: auto; }

/* レポーター */
#wrp_reporter {
  position: relative; }

@keyframes poppop {
  0% {
    transform: translate(38%, -42%); }
  8% {
    transform: translate(38%, -70%); }
  20% {
    transform: translate(38%, -42%); }
  25% {
    transform: translate(38%, -47%); }
  28% {
    transform: translate(38%, -42%); } }
#reporter {
  position: absolute;
  right: 10vw;
  bottom: 0;
  width: 30%;
  max-width: 331px;
  cursor: pointer; }
  #reporter img {
    display: block;
    width: 100%;
    height: auto; }
  #reporter::after {
    content: '';
    display: block;
    position: absolute;
    width: 60%;
    height: 60%;
    background: url("../images/pop_click.png") no-repeat center center;
    background-size: 100% auto;
    right: 0px;
    top: 0px;
    transform: translate(38%, -42%);
    animation: poppop 2s linear 1s infinite; }

@media (max-width: 580px) {
  #reporter {
    width: 40%;
    bottom: 60px; } }
.screen_pop {
  position: fixed;
  width: 100vw;
  height: 100vh;
  left: 0;
  top: 0;
  background: url("../images/bg_noise_alpha.png") repeat center center;
  background-size: auto auto;
  backdrop-filter: blur(5px);
  display: none;
  z-index: 1500; }
  .screen_pop .btn_close {
    position: fixed;
    right: 5vw;
    top: 5vw;
    display: block;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background-color: transparent;
    border: none;
    transition: transform 0.3s; }
    .screen_pop .btn_close::before, .screen_pop .btn_close::after {
      content: '';
      display: block;
      width: 30px;
      height: 3px;
      background-color: #FFFFFF;
      position: absolute;
      left: 15px;
      top: 15px;
      transform-origin: center;
      cursor: pointer; }
    .screen_pop .btn_close::before {
      transform: translate(-50%, -50%) rotate(45deg); }
    .screen_pop .btn_close::after {
      transform: translate(-50%, -50%) rotate(-45deg); }
    .screen_pop .btn_close:hover {
      transform: rotate(180deg); }

#reporter_pop .inwrp {
  width: 90%;
  max-width: 800px;
  margin: 50vh auto 0;
  transform: translate(0, -60%);
  background-color: #FFFFFF;
  border: 3px solid #FEE44F;
  border-radius: 50px;
  box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.3);
  padding: 50px 30px 30px;
  opacity: 0;
  transition: transform 0.5s, opacity 0.5s; }
  #reporter_pop .inwrp > div {
    justify-content: space-between;
    align-items: center; }
  #reporter_pop .inwrp.isOpen {
    transform: translate(0, -50%);
    opacity: 1; }

#title_reporterBox {
  text-align: center;
  font-family: 'akazuki';
  font-size: 2.5em;
  line-height: 1em;
  margin-bottom: 0.2em;
  color: #800508; }

#fig_reporter {
  width: 40%;
  display: flex;
  flex-direction: column; }
  #fig_reporter img {
    margin-bottom: 10px;
    display: block;
    width: 100%;
    height: auto; }
  #fig_reporter figcaption {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
    #fig_reporter figcaption p {
      font-size: 0.875em; }

#wrp_reporterProf {
  width: 55%; }
  #wrp_reporterProf .name {
    font-size: 2.8em;
    font-weight: 700;
    line-height: 1em;
    margin-bottom: 0.5em;
    color: #313235; }
  #wrp_reporterProf .profile {
    color: #313235;
    line-height: 1.8em;
    margin-bottom: 1.2em; }
  #wrp_reporterProf .reporter_link {
    display: block;
    background-color: #B81424;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 1.125em;
    line-height: 1em;
    padding: 0.5em 1em 0.6em;
    border-radius: 5px;
    text-align: center; }

@media (max-width: 480px) {
  #reporter_pop .inwrp {
    margin: 52vh auto 0;
    border-radius: 25px;
    padding: 3vh 2vw 3vh;
    max-height: 88vh;
    overflow: auto; }
    #reporter_pop .inwrp > div {
      flex-direction: column;
      justify-content: flex-start;
      align-items: center; }

  #title_reporterBox {
    font-size: 1.8em; }

  #fig_reporter {
    width: 80%;
    margin-bottom: 10px; }

  #wrp_reporterProf {
    width: 96%; }
    #wrp_reporterProf .name {
      text-align: center; } }
/* 動画リスト ポップアップ */
#video_pop {
  padding-top: 5vh; }
  #video_pop .inwrp {
    width: 96%;
    max-width: 960px;
    max-height: 90vh;
    overflow: auto;
    margin: 0px auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-content: stretch;
    transform: scale(0.9);
    opacity: 0;
    transition: transform 0.5s, opacity 0.5s; }
    #video_pop .inwrp.isOpen {
      transform: scale(1);
      opacity: 1; }
    #video_pop .inwrp .wrp_shopname {
      margin-bottom: 10px;
      display: flex;
      align-items: center; }
      #video_pop .inwrp .wrp_shopname .shop_number {
        color: #FFFFFF;
        font-size: 1.125em;
        font-weight: 700;
        text-align: right;
        display: block;
        background-color: #F92522;
        border: 3px solid #FF6967;
        border-radius: 5px 20px 20px 5px;
        padding: 0.3em 0.5em 0.3em 1em;
        margin-right: 0.75em; }
      #video_pop .inwrp .wrp_shopname .shop_name {
        color: #FFFFFF;
        font-weight: 700; }
    #video_pop .inwrp .shopVideos {
      width: 100%;
      margin-bottom: 1vh; }
    #video_pop .inwrp .wrp_shopdata {
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      flex-direction: row;
      flex-wrap: wrap; }
      #video_pop .inwrp .wrp_shopdata .wrp_comment {
        width: 70%;
        padding-top: 1em; }
        #video_pop .inwrp .wrp_shopdata .wrp_comment .title {
          font-weight: 700;
          font-size: 1em;
          line-height: 1.2em;
          margin-bottom: 1em;
          color: #FFD38D; }
        #video_pop .inwrp .wrp_shopdata .wrp_comment .comment {
          color: #CCCCCC;
          font-size: 0.875em;
          line-height: 1.6em; }
      #video_pop .inwrp .wrp_shopdata .wrp_shopinfo {
        width: 27%;
        background: url("../images/bg_noise_baige.png") repeat center center #EDE7E2;
        background-size: auto auto;
        padding: 1.5em 1em;
        border-radius: 5px; }
        #video_pop .inwrp .wrp_shopdata .wrp_shopinfo dt, #video_pop .inwrp .wrp_shopdata .wrp_shopinfo dd {
          color: #3B3731;
          font-size: 0.875em; }
        #video_pop .inwrp .wrp_shopdata .wrp_shopinfo dt {
          font-weight: 700;
          line-height: 1em;
          border-top: 1px dashed #3B3731;
          border-bottom: 1px dashed #3B3731;
          padding: 5px 3px;
          margin-bottom: 8px; }
        #video_pop .inwrp .wrp_shopdata .wrp_shopinfo dd {
          line-height: 1.2em;
          margin-bottom: 1.4em; }
          #video_pop .inwrp .wrp_shopdata .wrp_shopinfo dd:last-child {
            margin-bottom: 0; }

@media (max-width: 480px) {
  #video_pop {
    padding-top: 8vh; }
    #video_pop .inwrp .wrp_shopdata {
      justify-content: flex-start;
      align-items: center;
      flex-direction: column;
      flex-wrap: nowrap; }
      #video_pop .inwrp .wrp_shopdata .wrp_comment {
        width: 96%;
        padding-top: 0;
        margin-bottom: 1vh; }
      #video_pop .inwrp .wrp_shopdata .wrp_shopinfo {
        width: 96%; } }
/*　キララファミリー　*/
.wrp_charactors .kirara_chara {
  height: auto;
  display: block;
  position: absolute; }

@keyframes kiraramove1 {
  0% {
    top: 15%; }
  50% {
    top: 16%; }
  100% {
    top: 15%; } }
@keyframes kiraramove1-2 {
  0% {
    top: 20%; }
  50% {
    top: 21%; }
  100% {
    top: 20%; } }
@keyframes kiraramove2 {
  0% {
    top: 50%; }
  50% {
    top: 49%; }
  100% {
    top: 50%; } }
@keyframes kiraramove2-2 {
  0% {
    top: 55%; }
  50% {
    top: 54%; }
  100% {
    top: 55%; } }
@keyframes kiraramove3 {
  0% {
    bottom: 6%; }
  50% {
    bottom: 7%; }
  100% {
    bottom: 6%; } }
#kirara_chan {
  width: 13%;
  max-width: 160px;
  right: 3vh;
  top: 15%;
  animation: kiraramove1 3s ease infinite; }

#kirara_papa {
  width: 15%;
  max-width: 200px;
  left: 3vh;
  top: 50%;
  animation: kiraramove2 3s ease 0.5s infinite; }

#kirara_mama {
  width: 14%;
  max-width: 190px;
  right: 5vh;
  bottom: 6%;
  animation: kiraramove3 3s ease 1s infinite; }

@media (max-width: 480px) {
  #kirara_chan {
    top: 20%;
    animation: kiraramove1-2 3s ease infinite; }

  #kirara_papa {
    top: 55%;
    animation: kiraramove2-2 3s ease infinite; } }
/* //Main Contents area =====================*/
