@charset "UTF-8";
/* --------------------------------

Site Name: [ 汎用scssテンプレート ]
Site URI: [ 汎用scssテンプレート ]
Description: [ 汎用scssテンプレート ]
Version: [ 1.0 ]
Author: gramglan
Author URI: gramglan.work

-------------------------------- */
/* SITE COLOR */
/*
mixin
*/
/* --------------------------------
MIXIN
- gramglan
-------------------------------- */
/* SETTING */
/* mixin */
/* --------------------------------
汎用MIXIN
-------------------------------- */
/* margin padding 0指定 */
/* BOX-SIZING */
/* 透過 */
/* hover処理 */
/* 画像のhover処理 */
/* 吹き出し
@include arrow(#ccc, 10, 30%);
*/
/* SNS COLOR */
/* alpha base color */
/*
gradient
@include gradient(#ff00ff, #ff00cc, vertical);
*/
/* --------------------------------
サポートブラウザの設定
-------------------------------- */
/* ベンダープレフィックス */
/* --------------------------------
clearfix
-------------------------------- */
/* --------------------------------
FONT STYLE
-------------------------------- */
/* font-family
@include font__noto;
*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* width設定 */
/*
	base padding
*/
/*
	base margin
*/
/*
	flexbox
*/
/*
	absolute
	@include absolute(0,0,0,0);
	@include absolute($t:0,$r:0, $b:0,$l:0);
*/
/* --------------------------------
MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
/* --------------------------------
角丸設定
-------------------------------- */
/* 基本設定 */
/* --------------------------------
MIXIN
- gramglan


MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

body {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size: 16px;
  color: #333; }

a {
  text-decoration: none; }
  a:hover {
    outline: none;
    border: none; }

img {
  vertical-align: bottom;
  max-width: 100%; }

ul, li, dl, dt, dd, ol, p, h1, h2, h3, h4, h5, h6, p, figure, figcaption, input, textarea {
  margin: 0;
  padding: 0;
  list-style: none; }

ul:after, ol:after {
  *zoom: 1; }
  ul:after:after, ol:after:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden; }

/* --------------------------------
MIXIN
- gramglan


MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
/* 横幅指定 */
.mod__wrap {
  width: 100%;
  position: relative; }
  @media screen and (min-width: 768px) {
    .mod__wrap {
      margin: 0 auto;
      width: 100%; } }
  @media screen and (min-width: 768px) and (min-width: 0px) {
    .mod__wrap {
      width: 100%; } }
  @media screen and (min-width: 768px) and (min-width: 600px) {
    .mod__wrap {
      width: 100%; } }
  @media screen and (min-width: 768px) and (min-width: 768px) {
    .mod__wrap {
      width: 100%; } }
  @media screen and (min-width: 768px) and (min-width: 1024px) {
    .mod__wrap {
      max-width: 768px; } }
  @media screen and (min-width: 768px) and (min-width: 1280px) {
    .mod__wrap {
      max-width: 974px; } }

.mod__flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  /* reverse setting */ }
  .mod__flex .mod__flex__item {
    width: 100%; }
    .mod__flex .mod__flex__item.-w20 {
      width: 50%; }
    @media screen and (min-width: 768px) {
      .mod__flex .mod__flex__item.-w10 {
        width: 10%; }
      .mod__flex .mod__flex__item.-w20 {
        width: 20%; }
      .mod__flex .mod__flex__item.-w25 {
        width: 24%; }
      .mod__flex .mod__flex__item.-w30 {
        width: 30%; }
      .mod__flex .mod__flex__item.-w40 {
        width: 40%; }
      .mod__flex .mod__flex__item.-w45 {
        width: 45%; }
      .mod__flex .mod__flex__item.-w50 {
        width: 50%; }
      .mod__flex .mod__flex__item.-w55 {
        width: 55%; }
      .mod__flex .mod__flex__item.-w60 {
        width: 60%; }
      .mod__flex .mod__flex__item.-w70 {
        width: 70%; }
      .mod__flex .mod__flex__item.-w80 {
        width: 80%; }
      .mod__flex .mod__flex__item.-w90 {
        width: 90%; }
      .mod__flex .mod__flex__item.-w100 {
        width: 100%; } }
    @media screen and (min-width: 1024px) {
      .mod__flex .mod__flex__item {
        padding: 0 0 0 0; } }
  @media screen and (min-width: 1024px) and (min-width: 768px) {
    .mod__flex .mod__flex__item {
      padding: 0 0 0 0; } }
    @media screen and (min-width: 1024px) {
        .mod__flex .mod__flex__item.-flex {
          -ms-flex: 1;
          /*IE10*/
          -webkit-box-flex: 1;
          /* Android4.3以下、Safari3.1〜6.0 */
          -webkit-flex: 1;
          /* Safari6.1以降 */ }
        .mod__flex .mod__flex__item.-w10 {
          width: 10%; }
        .mod__flex .mod__flex__item.-w20 {
          width: 20%; }
        .mod__flex .mod__flex__item.-w25 {
          width: 24%; }
        .mod__flex .mod__flex__item.-w30 {
          width: 30%; }
        .mod__flex .mod__flex__item.-w40 {
          width: 40%; }
        .mod__flex .mod__flex__item.-w45 {
          width: 45%; }
        .mod__flex .mod__flex__item.-w50 {
          width: 50%; }
        .mod__flex .mod__flex__item.-w55 {
          width: 55%; }
        .mod__flex .mod__flex__item.-w60 {
          width: 60%; }
        .mod__flex .mod__flex__item.-w70 {
          width: 70%; }
        .mod__flex .mod__flex__item.-w80 {
          width: 80%; }
        .mod__flex .mod__flex__item.-w90 {
          width: 90%; }
        .mod__flex .mod__flex__item.-w100 {
          width: 100%; } }
    .mod__flex .mod__flex__item.-full {
      width: 100%; }
  .mod__flex.-just_around {
    -ms-flex-pack: justify;
    /*IE10*/
    -webkit-box-pack: justify;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-justify-content: space-around;
    /* Safari6.1以降 */
    justify-content: space-around; }
  .mod__flex.-just_center {
    -ms-flex-pack: justify;
    /*IE10*/
    -webkit-box-pack: justify;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-justify-content: center;
    /* Safari6.1以降 */
    justify-content: center; }
  .mod__flex.-just_between {
    -ms-flex-pack: justify;
    /*IE10*/
    -webkit-box-pack: justify;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-justify-content: space-between;
    /* Safari6.1以降 */
    justify-content: space-between; }
  .mod__flex.-rev_all {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    flex-flow: row-reverse wrap;
    -ms-flex-flow: row-reverse wrap;
    -webkit-flow: row-reverse wrap; }
  @media screen and (min-width: 768px) {
    .mod__flex.-rev {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      flex-flow: row-reverse wrap;
      -ms-flex-flow: row-reverse wrap;
      -webkit-flow: row-reverse wrap; } }

/* JS用 */
/* 各ページ */
/* --------------------------------
HEADER
- gramglan

MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
@-webkit-keyframes hoverShake {
  0% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg); }
  25% {
    -webkit-transform: skew(1deg, 1deg);
    transform: skew(1deg, 1deg); }
  75% {
    -webkit-transform: skew(-1deg, -1deg);
    transform: skew(-1deg, -1deg); }
  100% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg); } }
@keyframes hoverShake {
  0% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg); }
  25% {
    -webkit-transform: skew(1deg, 1deg);
    transform: skew(1deg, 1deg); }
  75% {
    -webkit-transform: skew(-1deg, -1deg);
    transform: skew(-1deg, -1deg); }
  100% {
    -webkit-transform: skew(0deg, 0deg);
    transform: skew(0deg, 0deg); } }

/* body add class*/
.__sp {
  display: block; }
  @media screen and (min-width: 768px) {
    .__sp {
      display: none; } }

.__pc {
  display: none; }
  @media screen and (min-width: 768px) {
    .__pc {
      display: block; } }

body {
  background: #fff url(../img/bg.jpg) no-repeat center top;
  background-size: contain; }
  @media screen and (min-width: 1024px) {
    body {
      min-width: 1000px; } }

footer {
  background: #000;
  text-align: center;
  padding: 3em; }
  footer .links {
    margin:0 80% 0 20%;
    padding-top: 60px;
    padding-bottom: 60px;
    width: 200px; }
    footer .links li {
      text-align: left; }
      footer .links li a {
        color: #fff;
        display: block;
        padding-bottom: 0.5em; }
        footer .links li a:hover {
          opacity: 0.5; }
        footer .links li a:after {
          display: inline-block;
          content: "＞";
          padding-left: 1em; }
  footer .copyright {
    text-align: center;
    color: #fff;
    font-size: 14px; }

#page_top {
  width: 79px;
  height: 102px;
  position: fixed;
  right: 1em;
  bottom: 0em;
  opacity: 1; }

#page_top a {
  position: relative;
  display: block;
  width: 79px;
  height: 102px;
  text-decoration: none; }

.header {
  background: #000051;
  position: relative; }
  .header .width {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    height: 30px;
    background: url(../svg/header_title.svg) no-repeat 90px center;
    background-size: 70%; }
    @media screen and (min-width: 768px) {
      .header .width {
        background: url(../svg/header_title.svg) no-repeat center center;
        background-size: 60%;
        height: 60px; } }
    @media screen and (min-width: 1024px) {
      .header .width {
        background: url(../svg/header_title.svg) no-repeat center center;
        background-size: 70%;
        height: 60px; } }
  .header .logo {
    position: absolute;
    width: 90px; }
    @media screen and (min-width: 768px) {
      .header .logo {
        width: auto; } }

.lp-wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 80px; }

.badge-slider {
  background: url(../img/slide-bg.svg) no-repeat center top;
  background-size: 100%;
  width: 100%;
  height: 320px;
  padding-top: 50px; }
  @media screen and (min-width: 768px) {
    .badge-slider {
      background: url(../img/slide-frame.svg) no-repeat center top;
      background-size: contain;
      height: 500px;
      padding-top: 60px; } }
  @media screen and (min-width: 1024px) {
    .badge-slider {
      background: url(../img/slide-frame.svg) no-repeat center top;
      background-size: contain;
      height: 630px;
      padding-top: 80px; } }
  .badge-slider .swiper-container {
    overflow: visible;
    line-height: 1.2;
    width: 100%; }
  .badge-slider .swiper-slide img {
    width: 55%; }
  @media screen and (min-width: 768px) {
    .badge-slider .swiper-slide img {
      width: 350px; } }
  @media screen and (min-width: 1024px) {
    .badge-slider .swiper-slide img {
      width: auto; } }
  .badge-slider .swiper-container-horizontal > .swiper-pagination-bullets, .badge-slider .swiper-pagination-custom, .badge-slider .swiper-pagination-fraction {
    display: none; }
    @media screen and (min-width: 1024px) {
      .badge-slider .swiper-container-horizontal > .swiper-pagination-bullets, .badge-slider .swiper-pagination-custom, .badge-slider .swiper-pagination-fraction {
        display: block;
        bottom: -3em; } }
  .badge-slider .swiper-container-horizontal > .swiper-pagination-bullets, .badge-slider .swiper-pagination-custom, .badge-slider .swiper-pagination-fraction {
    padding: 0 380px;
    margin: 0 auto; }
  .badge-slider .swiper-pagination-bullet {
    width: 12px;
    height: 12px; }
    .badge-slider .swiper-pagination-bullet-active {
      background: #000051; }

.visual {
  text-align: center;
  padding: 0 1em;
  padding-top: 20px;
  background: -webkit-linear-gradient(269.24deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 60%);
  background: -o-linear-gradient(269.24deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 60%);
  background: linear-gradient(180.76deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 60%); }
  @media screen and (min-width: 768px) {
    .visual {
      background: -webkit-linear-gradient(269.24deg, #FFFFFF 10%, rgba(255, 255, 255, 0) 80%);
      background: -o-linear-gradient(269.24deg, #FFFFFF 10%, rgba(255, 255, 255, 0) 80%);
      background: linear-gradient(180.76deg, #FFFFFF 10%, rgba(255, 255, 255, 0) 80%);
      padding-top: 60px; } }
  .visual h1 {
    margin-bottom: 16px; }

.line {
  padding: 40px 0; }

.badge-list {
  margin-bottom: 1em;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .badge-list {
      margin-bottom: 80px; } }
  .badge-list h2 {
    max-width: 60%;
    margin: 0 auto;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .badge-list h2 {
        padding-top: 40px;
        max-width: 417px; } }
    .badge-list h2 span {
      padding-bottom: 20px;
      display: block; }
  .badge-list .lineup {
    max-width: 800px;
    margin: 0 auto;
    padding: 1em; }

.luckey {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media screen and (min-width: 768px) {
    .luckey {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      max-width: 1000px;
      margin: 0 auto;
      padding: 0 2em; } }
  .luckey .left {
    width: 90%;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .luckey .left {
        width: 45%; } }
    .luckey .left h2 {
      width: 60%;
      margin: 0 auto;
      height: auto;
      padding-bottom: 30px; }
      @media screen and (min-width: 768px) {
        .luckey .left h2 {
          margin: 0;
          width: 80%; } }
      @media screen and (min-width: 1024px) {
        .luckey .left h2 {
          width: 340px; } }
    .luckey .left h3 {
      width: 60%;
      margin: 0 auto 1em; }
      @media screen and (min-width: 768px) {
        .luckey .left h3 {
          margin: 0;
          width: 80%; } }
      @media screen and (min-width: 1024px) {
        .luckey .left h3 {
          width: 340px; } }
  .luckey .right {
    width: 90%; }
    @media screen and (min-width: 768px) {
      .luckey .right {
        width: 55%; } }
  .luckey .all {
    padding-top: 40px;
    width: 90%; }
    @media screen and (min-width: 768px) {
      .luckey .all {
        width: 82%; } }

.last {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1em; }
  @media screen and (min-width: 768px) {
    .last {
      padding: 0 2em; } }
  .last .left {
    width: 90%; }
    @media screen and (min-width: 768px) {
      .last .left {
        width: 45%; } }
    .last .left h2 {
      width: 60%;
      margin: 0 auto;
      height: auto;
      padding-bottom: 30px; }
      @media screen and (min-width: 768px) {
        .last .left h2 {
          margin: 0;
          width: 80%; } }
      @media screen and (min-width: 1024px) {
        .last .left h2 {
          width: 340px; } }
    .last .left h3 {
      width: 60%;
      margin: 0 auto 1em; }
      @media screen and (min-width: 768px) {
        .last .left h3 {
          margin: 0;
          width: 80%; } }
      @media screen and (min-width: 1024px) {
        .last .left h3 {
          width: 340px; } }
  .last .right {
    width: 80%;
    padding: 0 40px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .last .right {
        width: 55%;
        padding: 0 40px;
        text-align: center; } }

.shoplist h2 {
  width: 335px;
  margin: 0 auto; }

.tab_wrap {
  width: 90%;
  margin: 0 auto;
  padding-top: 40px; }
  @media screen and (min-width: 768px) {
    .tab_wrap {
      max-width: 1000px; } }

input[type="radio"] {
  display: none; }

.tab_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around; }
  .tab_area a {
    width: 32%;
    cursor: pointer;
    -webkit-transition: ease 0.2s opacity;
    -o-transition: ease 0.2s opacity;
    transition: ease 0.2s opacity;
    background: #000;
    color: #fff;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    text-align: center;
    padding: 0.5em;
    border-radius: 4px;
    line-height: 1;
    font-size: 14px;
    margin-bottom: 4px; }
    @media screen and (min-width: 768px) {
      .tab_area a {
        font-size: 15px; } }
    @media screen and (min-width: 1024px) {
      .tab_area a {
        width: 11%;
        font-size: 16px; } }
    .tab_area a:hover {
      opacity: 0.5; }

.modal-wrap {
  width: 90%;
  background: #fff;
  border-radius: 8px;
  margin: 1em auto; }
  @media screen and (min-width: 768px) {
    .modal-wrap {
      width: 80%;
      margin: 2em auto; } }
  .modal-wrap .popup-modal-dismiss {
    position: fixed;
    top: 0;
    right: 0;
    background: #000;
    border-radius: 0 0 0 8px; }
    .modal-wrap .popup-modal-dismiss a {
      display: block;
      padding: 1em;
      color: #fff; }
  .modal-wrap ul {
    padding: 2em; }
  .modal-wrap h3 {
    background: #000051;
    color: #fff;
    text-align: center;
    font-size: 24px;
    padding: 1em;
    border-radius: 4px 4px 0 0; }

.att_txt {
  text-align: center;
  font-size: 12px;
  padding-top: 1em; }
  @media screen and (min-width: 768px) {
    .att_txt {
      font-size: 15px; } }

.panel_area {
  background: #fff; }

.tab_panel {
  max-width: 100%;
  padding: 1em;
  display: none; }
  @media screen and (min-width: 1024px) {
    .tab_panel {
      padding: 80px 2em; } }

.tab_panel p {
  font-size: 14px;
  letter-spacing: 1px;
  text-align: center; }

#tab1:checked ~ .tab_area .tab1_label {
  background: #eee;
  color: #000; }

#tab1:checked ~ .panel_area #panel1 {
  display: block; }

#tab2:checked ~ .tab_area .tab2_label {
  background: #eee;
  color: #000; }

#tab2:checked ~ .panel_area #panel2 {
  display: block; }

#tab3:checked ~ .tab_area .tab3_label {
  background: #eee;
  color: #000; }

#tab3:checked ~ .panel_area #panel3 {
  display: block; }

#tab4:checked ~ .tab_area .tab4_label {
  background: #eee;
  color: #000; }

#tab4:checked ~ .panel_area #panel4 {
  display: block; }

#tab5:checked ~ .tab_area .tab5_label {
  background: #eee;
  color: #000; }

#tab5:checked ~ .panel_area #panel5 {
  display: block; }

#tab6:checked ~ .tab_area .tab6_label {
  background: #eee;
  color: #000; }

#tab6:checked ~ .panel_area #panel6 {
  display: block; }

#tab7:checked ~ .tab_area .tab7_label {
  background: #eee;
  color: #000; }

#tab7:checked ~ .panel_area #panel7 {
  display: block; }

#tab8:checked ~ .tab_area .tab8_label {
  background: #eee;
  color: #000; }

#tab8:checked ~ .panel_area #panel8 {
  display: block; }

.area {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  .area li {
    border-bottom: 1px solid #ddd;
    padding: 1em 0; }
    .area li dl {
      margin-bottom: 4px; }
      @media screen and (min-width: 768px) {
        .area li dl {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }
      .area li dl dt {
        width: 100%;
        text-align: center;
        padding: 0.5em;
        background: #eee;
        display: block;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        @media screen and (min-width: 768px) {
          .area li dl dt {
            text-align: left;
            width: 5em;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex; } }
      .area li dl dd {
        width: 100%;
        padding: 0.5em;
        text-align: center; }
        @media screen and (min-width: 768px) {
          .area li dl dd {
            text-align: left;
            width: calc(100% - 6em); } }
  .area .shop_name {
    font-weight: bold;
    padding-bottom: 0.5em;
    text-align: left;
    font-size: 20px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .area .shop_name {
        text-align: left; } }
