@charset "UTF-8";
/* --------------------------------------------

FileName    :    style.css

-------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
.footer, .wrapper {
  display: block; }
  .footer:after, .wrapper:after {
    content: "";
    display: block;
    clear: both;
    height: 0; }
  @media screen and (max-width: 1280px) {
    .footer, .wrapper {
      visibility: visible; } }
  @media screen and (max-width: 1024px) {
    .footer, .wrapper {
      visibility: visible; } }
  @media screen and (max-width: 768px) {
    .footer, .wrapper {
      visibility: visible; } }
  @media screen and (max-width: 640px) {
    .footer, .wrapper {
      visibility: visible; } }
  @media screen and (max-width: 480px) {
    .footer, .wrapper {
      visibility: visible; } }

@media screen and (min-width: 769px) {
  .main a[href*=mailto] {
    opacity: 1;
    -webkit-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
    transition: opacity 0.2s; }
    .main a:hover[href*=mailto] {
      opacity: 0.75; } }

.main p:first-child:not([class]) {
  margin-top: auto; }

.main p:last-child:not([class]) {
  margin-bottom: auto; }

@media screen and (max-width: 768px) {
  .main p:first-child:not([class]) {
    margin-top: auto; }
  .main p:last-child:not([class]) {
    margin-bottom: auto; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* --------------------------------------------

foundation

-------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #bfbfbf;
  margin: 40px 0;
  padding: 0; }
  @media screen and (max-width: 768px) {
    hr {
      margin: 20px 0; } }

input, select {
  vertical-align: middle; }

body .row-fluid [class*="span"] {
  float: none;
  width: auto;
  min-height: 0; }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, a, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, form, input, button, textarea, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

li {
  list-style-type: none; }

a {
  text-decoration: none;
  color: #000;
  outline: 0; }

img {
  border: 0;
  vertical-align: middle; }
  img:not([width]) {
    width: auto;
    max-width: 100%;
    height: auto; }
  @media screen and (max-width: 768px) {
    img {
      width: auto;
      max-width: 100%;
      height: auto; } }

svg {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle; }

i, em {
  font-style: normal; }

input[type="text"],
input[type="emal"],
input[type="tel"], button, textarea, select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  outline: 0;
  margin: 0;
  padding: 0;
  background: #fff;
  vertical-align: middle;
  font-size: inherit;
  color: #222; }

input::-webkit-input-placeholder {
  color: #bfbfbf; }

input:-ms-input-placeholder {
  color: #bfbfbf; }

input::-moz-placeholder {
  color: #bfbfbf; }

option {
  outline: 0; }

html {
  font-size: 10px; }

body {
  width: 100%;
  font-family: 'Zen Kaku Gothic New','Zen Kaku Gothic Antique','Noto Sans JP',-apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN,YuGothic,  Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.7;
  font-weight: 500;
  color: #000;
  background: #fff;
  position: relative; }
  @media screen and (max-width: 768px) {
    body {
      min-width: 320px;
      line-height: 1.8;
      font-size: 15px;
      font-size: 1.5rem; } }

a[href^="tel:"].tel-disable {
  pointer-events: none;
  text-decoration: none; }

sup {
  display: inline-block;
  position: relative;
  -webkit-transform: scale(0.7) translate(0, -0.5em);
      -ms-transform: scale(0.7) translate(0, -0.5em);
          transform: scale(0.7) translate(0, -0.5em); }

/* --------------------------------------------

layout

-------------------------------------------- */
/* ===================================

	header

=================================== */
@-webkit-keyframes rotate-anime {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@keyframes rotate-anime {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.header {
  width: 100%;
  padding: 30px 0;
  z-index: 99;
  background: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media screen and (max-width: 768px) {
    .header {
      height: 65px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      padding: 15px 0 0;
      position: fixed;
      z-index: 10000; }
      .header:after {
        content: "";
        width: 100%;
        height: 12px;
        background: url(../img/bg_black_bottom.png) no-repeat left bottom;
        background-size: cover;
        position: absolute;
        bottom: -10px;
        left: 0;
        z-index: 10001; } }
  .header .header__inner {
    position: relative;
    width: 100%;
    max-width: 1130px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    /*.header__navi {
        display: block;
        position: fixed;
        top: 0;
        left: 0;


      @include max-screen(768) {
        display: none;
        width: 100%;
        padding:0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: 0;
        left: 0;
        transition: all 0.3s;
        z-index: 99999;
        .js-menu-open & {
          display: block;
          opacity: 1;
          visibility: visible;
        }
      }


      .global {
        width: 100%;
        z-index: 100000;

        ul {
          width: 100%;
          margin: 0 auto;

          li {
            line-height: 1;
            position: relative;
            margin: 0 0 0 20px;
            @include font-size(16);
            color: #fff;
            font-weight: 500;
            padding: 0;

            a {
              position: relative;
              display: block;
              padding: 0;
              color: $color-main;
              font-weight: bold;

            }
          }
        }

        @include max-screen(768) {
          position: relative;
          margin-bottom: 25px;
          background: none;

          ul {
            display: block;
            padding: 0;
            width: 100%;
            background: $color-bg;
            li {
              display: block;
              text-align: center;
              padding: 0;
              border-bottom: 1px solid #9c9c92;
              margin: 0;
              a{
                color: $color-main;
                padding: 20px 0;
                @include font-size(17);
                font-weight: bold;
                span{
                  display: none;
                }
              }
            }
         }
        }
      }
    }*/ }
    .header .header__inner .logo {
      position: relative;
      z-index: 9999;
      height: 100px; }
      @media screen and (max-width: 768px) {
        .header .header__inner .logo {
          width: 120px;
          text-align: center;
          margin: 0 auto;
          height: auto; } }
    .header .header__inner .header__navi {
      display: none;
      width: 100%;
      height: 100%;
      padding: 0;
      background: #000;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      opacity: 0;
      visibility: hidden;
      position: fixed;
      top: 0;
      left: 0;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
      z-index: 99999; }
      .js-menu-open .header .header__inner .header__navi {
        display: block;
        opacity: 1;
        visibility: visible; }
      .header .header__inner .header__navi .flex {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        height: 100%;
        width: 100%; }
        .header .header__inner .header__navi .flex .left {
          background: #000;
          width: 35%;
          padding: 20px 0;
          position: relative;
          height: 100%;
          display: table; }
          .header .header__inner .header__navi .flex .left .logo {
            position: absolute;
            width: 100%;
            margin: 0 auto; }
            .header .header__inner .header__navi .flex .left .logo img {
              width: 50%; }
          .header .header__inner .header__navi .flex .left .bottom {
            display: table-cell;
            width: 100%;
            vertical-align: bottom; }
            .header .header__inner .header__navi .flex .left .bottom .sns_list {
              margin: 0 0 20px;
              text-align: center; }
              .header .header__inner .header__navi .flex .left .bottom .sns_list li {
                display: inline-block;
                margin: 0 10px; }
                .header .header__inner .header__navi .flex .left .bottom .sns_list li img {
                  width: 80%; }
            .header .header__inner .header__navi .flex .left .bottom .copy {
              color: #fff;
              text-align: center;
              margin: 0 auto; }
        .header .header__inner .header__navi .flex .right {
          background: url(../img/bg_menu_right2x.png) left top repeat;
          background-size: cover;
          width: 65%;
          height: 100%;
          min-height: 750px;
          padding: 0 0 60px; }
          .header .header__inner .header__navi .flex .right ul {
            max-width: 430px;
            margin: 80px auto 50px; }
            .header .header__inner .header__navi .flex .right ul li {
              border-bottom: 1px solid #fff;
              padding: 0 0 15px;
              margin: 0 0 25px; }
      @media screen and (max-width: 768px) {
        .header .header__inner .header__navi {
          width: 100%;
          height: 100%;
          padding: 0;
          background: #000;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          opacity: 0;
          visibility: hidden;
          position: fixed;
          top: 70px;
          left: 0;
          -webkit-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s;
          z-index: 9999; }
          .header .header__inner .header__navi .flex .left {
            display: none; }
          .header .header__inner .header__navi .flex .right {
            width: 100%;
            height: auto;
            min-height: 700px; }
            .header .header__inner .header__navi .flex .right ul {
              margin: 60px auto;
              width: 80%; } }

.header__hamburger {
  -webkit-transition:  background 300ms;
  -o-transition:  background 300ms;
  transition:  background 300ms; }
  @media screen and (min-width: 768px) {
    .header__hamburger {
      display: block;
      width: 55px;
      height: 30px;
      color: #fff;
      position: fixed;
      right: 3%;
      top: 72px;
      z-index: 9999999;
      cursor: pointer; } }
  @media screen and (max-width: 768px) {
    .header__hamburger {
      display: block;
      width: 27px;
      height: 16px;
      top: 7px;
      color: #fff;
      position: fixed;
      right: 20px;
      top: 28px;
      z-index: 9999999;
      cursor: pointer; } }
  .header__hamburger:before, .header__hamburger:after {
    content: "";
    display: block;
    width: 55px;
    height: 4px;
    margin: auto;
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform-origin: 50% 50%;
        -ms-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transition: top 0.2s, bottom 0.2s, -webkit-transform 0.2s, -webkit-box-shadow 0.2s 0.2s;
    transition: top 0.2s, bottom 0.2s, -webkit-transform 0.2s, -webkit-box-shadow 0.2s 0.2s;
    -o-transition: top 0.2s, bottom 0.2s, transform 0.2s, box-shadow 0.2s 0.2s;
    transition: top 0.2s, bottom 0.2s, transform 0.2s, box-shadow 0.2s 0.2s;
    transition: top 0.2s, bottom 0.2s, transform 0.2s, box-shadow 0.2s 0.2s, -webkit-transform 0.2s, -webkit-box-shadow 0.2s 0.2s; }
  .header__hamburger:before {
    bottom: 8px;
    -webkit-box-shadow: 0 12px 0 #fff;
            box-shadow: 0 12px 0 #fff; }
  .header__hamburger:after {
    top: -35px; }
  @media screen and (max-width: 768px) {
    .header__hamburger:before, .header__hamburger:after {
      width: 27px;
      height: 2px; }
    .header__hamburger:before {
      bottom: 0px;
      -webkit-box-shadow: 0 8px 0 #fff;
              box-shadow: 0 8px 0 #fff; }
    .header__hamburger:after {
      top: -16px; } }
  .js-menu-open .header__hamburger:before, .js-menu-open .header__hamburger:after {
    -webkit-transition: top 0.2s 0.2s, bottom 0.2s 0.2s, -webkit-transform 0.2s 0.2s, -webkit-box-shadow 0.2s;
    transition: top 0.2s 0.2s, bottom 0.2s 0.2s, -webkit-transform 0.2s 0.2s, -webkit-box-shadow 0.2s;
    -o-transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s 0.2s, box-shadow 0.2s;
    transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s 0.2s, box-shadow 0.2s;
    transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s 0.2s, box-shadow 0.2s, -webkit-transform 0.2s 0.2s, -webkit-box-shadow 0.2s;
    color: #fff;
    background: #fff !important; }
  .js-menu-open .header__hamburger:before {
    -webkit-box-shadow: 10px 10px 0 transparent;
            box-shadow: 10px 10px 0 transparent;
    bottom: 0;
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg); }
  .js-menu-open .header__hamburger:after {
    top: 0;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  html.js-fixed .header__hamburger {
    background-image: url("../img/common/hamburger_bg02.svg"); }

/* ===================================

	footer

=================================== */
.footer {
  width: 100%;
  background-size: cover;
  margin: 0 auto;
  padding: 80px 0 30px; }
  .footer .inner {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    padding: 60px 0 0; }
    .footer .inner .sns_list {
      text-align: center;
      margin: 0 0 40px; }
      .footer .inner .sns_list li {
        display: inline-block;
        margin: 0 20px; }
    .footer .inner .copy {
      padding: 0;
      margin: 10px auto 0;
      font-size: 12px;
      font-size: 1.2rem;
      text-align: center;
      color: #222;
      text-align: center;
      font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif; }
  @media screen and (max-width: 768px) {
    .footer {
      padding: 100px 0 20px; }
      .footer .inner {
        max-width: 1080px;
        width: 100%;
        margin: 0 auto;
        padding: 0; }
        .footer .inner .sns_list {
          margin: 0 0 10px; }
          .footer .inner .sns_list li {
            margin: 0; }
            .footer .inner .sns_list li img {
              width: 50%; }
        .footer .inner .copy {
          font-size: 10px;
          font-size: 1rem; } }

/* --------------------------------------------

contents

-------------------------------------------- */
br.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    br.sp {
      display: block !important; } }

br.middle {
  display: none; }
  @media screen and (max-width: 1080px) {
    br.middle {
      display: block !important; } }

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

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

.main {
  padding: 0; }

.wrapper {
  width: 100%;
  max-width: 100%; }
  @media screen and (max-width: 768px) {
    .wrapper {
      padding: 0; } }

.mb10 {
  margin-bottom: 10px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb10_sp {
  margin-bottom: 10px !important; }

.mb20_sp {
  margin-bottom: 20px !important; }

.mb30_sp {
  margin-bottom: 30px !important; }

.mb40_sp {
  margin-bottom: 40px !important; }

.mb50_sp {
  margin-bottom: 50px !important; }

.mb60_sp {
  margin-bottom: 60px !important; }

.mb70_sp {
  margin-bottom: 70px !important; }

.mb80_sp {
  margin-bottom: 80px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

/* --------------------------------------------

object

-------------------------------------------- */
@-webkit-keyframes navi-right {
  0% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes navi-right {
  0% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-webkit-keyframes navi-left {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); } }

@keyframes navi-left {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); } }

@-webkit-keyframes arrow-right {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1; }
  50% {
    -webkit-transform: translate(75%, 0);
            transform: translate(75%, 0);
    opacity: 0; }
  51% {
    -webkit-transform: translate(-75%, 0);
            transform: translate(-75%, 0);
    opacity: 0; }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1; } }

@keyframes arrow-right {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1; }
  50% {
    -webkit-transform: translate(75%, 0);
            transform: translate(75%, 0);
    opacity: 0; }
  51% {
    -webkit-transform: translate(-75%, 0);
            transform: translate(-75%, 0);
    opacity: 0; }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1; } }

/* --------------------------------------------

plugin

-------------------------------------------- */
/* --------------------------------------------

page

-------------------------------------------- */
/* --------------------------------------------

page-idnex

-------------------------------------------- */
.bg_01 {
  width: 100%;
  background: url(../img/bg01.png) left top no-repeat;
  background-size: cover; }
  @media screen and (max-width: 768px) {
    .bg_01 {
      background: url(../img/bg01_sp.png) left top no-repeat;
      background-size: cover; } }

.bg_02 {
  width: 100%;
  background: url(../img/bg02.jpg) left top no-repeat;
  background-size: cover;
  padding: 60px 0; }
  @media screen and (max-width: 768px) {
    .bg_02 {
      padding: 40px 0; } }

.bg_bk {
  background: #000;
  position: relative;
  padding: 100px 0;
  color: #fff; }
  .bg_bk:after {
    content: "";
    width: 100%;
    height: 25px;
    background: url(../img/bg_black_bottom.png) no-repeat left bottom;
    background-size: cover;
    position: absolute;
    bottom: -25px;
    left: 0; }
  .bg_bk:before {
    content: "";
    width: 100%;
    height: 25px;
    background: url(../img/bg_black_up.png) no-repeat left bottom;
    background-size: cover;
    position: absolute;
    top: -25px;
    z-index: 99;
    left: 0; }
  @media screen and (max-width: 768px) {
    .bg_bk {
      padding: 50px 0; }
      .bg_bk:after {
        height: 12px;
        bottom: -12px; }
      .bg_bk:before {
        height: 12px;
        top: -12px; } }

.original-area {
  max-width: 400px;
  margin: 0 auto;
  position: relative; }
  .original-area .prev {
    position: absolute;
    left: 0;
    background: url(../img/arrow_left.png) left top no-repeat;
    width: 17px;
    height: 26px;
    top: 0;
    cursor: pointer; }
  .original-area .next {
    position: absolute;
    right: 0;
    background: url(../img/arrow_right.png) left top no-repeat;
    width: 17px;
    height: 26px;
    top: 0;
    cursor: pointer; }
  .original-area ul.dots-list {
    margin: 0 auto;
    text-align: center; }
    .original-area ul.dots-list .slick-track {
      -webkit-transform: unset !important;
          -ms-transform: unset !important;
              transform: unset !important; }
    .original-area ul.dots-list li {
      width: 66px !important;
      height: 12px;
      background: #fff;
      border: 1px solid #707070;
      display: inline-block !important;
      margin: 0 2px;
      float: none !important;
      cursor: pointer; }
      .original-area ul.dots-list li.slick-current {
        background: #F7ECC6; }
      .original-area ul.dots-list li button {
        overflow: hidden;
        text-indent: -9999px; }
  @media screen and (max-width: 768px) {
    .original-area {
      max-width: 240px; }
      .original-area .prev {
        width: 8px;
        height: 12px;
        background-size: cover;
        left: 20px;
        top: 10px; }
      .original-area .next {
        width: 8px;
        height: 12px;
        background-size: cover;
        right: 20px;
        top: 10px; }
      .original-area ul.dots-list li {
        width: 33px !important;
        height: 6px;
        margin: 0 1px; } }
  .original-area.slider04-thum {
    max-width: 550px; }

.slider03-thum .prev {
  position: absolute;
  left: 0;
  background: url(../img/arrow_left_w.png) left top no-repeat;
  width: 17px;
  height: 26px;
  top: 0;
  cursor: pointer; }

.slider03-thum .next {
  position: absolute;
  right: 0;
  background: url(../img/arrow_right_w.png) left top no-repeat;
  width: 17px;
  height: 26px;
  top: 0;
  cursor: pointer; }

@media screen and (max-width: 768px) {
  .slider03-thum .prev {
    background-size: cover;
    width: 8px;
    height: 13px;
    left: 20px;
    top: 10px; }
  .slider03-thum .next {
    background-size: cover;
    width: 8px;
    height: 13px;
    right: 20px;
    top: 10px; } }

.index-main {
  background: #000;
  position: relative; }
  .index-main:after {
    content: "";
    width: 100%;
    height: 25px;
    background: url(../img/bg_black_bottom.png) no-repeat left bottom;
    background-size: cover;
    position: absolute;
    bottom: -25px; }
  @media screen and (max-width: 768px) {
    .index-main {
      overflow: hidden; }
      .index-main:after {
        background: url(../img/bg_black_bottom.png) no-repeat left bottom;
        background-size: cover;
        bottom: -12px;
        height: 12px; } }
  .index-main .video-stream {
    width: 100% !important;
    height: 100% !important; }
  .index-main .inner {
    max-width: 1130px;
    margin: 0 auto; }
    .index-main .inner h1 {
      position: relative;
      max-height: 640px;
      /*@include max-screen(768) {
       video{
        top: 50%;
        //min-height: 100%;
        //max-height: auto;
        height: 100%;
        width: 177.77777778vh;
        max-height: 100%;
       }
      }*/ }
      .index-main .inner h1 .mv-movie {
        text-align: center;
        position: relative; }
      .index-main .inner h1 video {
        text-align: center; }
      .index-main .inner h1 .sp {
        text-align: center;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        min-height: 700px;
        z-index: 999; }
        .index-main .inner h1 .sp video {
          position: absolute;
          top: 50%;
          left: 50%;
          -o-object-fit: cover;
             object-fit: cover;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          width: 100vh;
          height: 100%;
          min-height: 700px;
          max-height: 100%; }
      .index-main .inner h1 #loading {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        font-weight: bold; }
      .index-main .inner h1 #youtube-area {
        z-index: 1;
        /*最背面に設定*/
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        overflow: hidden;
        opacity: 0;
        padding: 0 20px; }

@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes PageAnimeAppear {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
      .index-main .inner h1 #youtube {
        /*天地中央配置*/
        position: absolute;
        top: 330px;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        /*縦横幅指定*/
        width: 100%;
        /* 16:9 の幅→16 ÷ 9＝ 177.77% */
        height: 56.25vw;
        /* 16:9の幅 → 9 ÷ 16 = 56.25% */ }
        @media screen and (max-width: 768px) {
          .index-main .inner h1 #youtube {
            top: 50%;
            min-height: 100%;
            max-height: auto;
            width: 177.77777778vh;
            /* 16:9 の幅→16 ÷ 9＝ 177.77% */ } }
      .index-main .inner h1 .text {
        position: absolute;
        color: #fff;
        font-size: 36px;
        font-size: 3.6rem;
        font-weight: bold;
        bottom: -5%;
        left: 60px;
        line-height: 41px; }
        .index-main .inner h1 .text img {
          display: block;
          margin-top: 10px; }
      .index-main .inner h1 .buy-btn {
        position: fixed;
        right: 25px;
        bottom: 10px;
        z-index: 9999; }
    .index-main .inner .catch {
      font-size: 34px;
      font-size: 3.4rem;
      font-weight: bold;
      color: #fff;
      padding: 80px 70px 50px;
      position: relative;
      z-index: 999; }
    .index-main .inner .product {
      padding: 0 50px 110px 70px;
      position: relative; }
      .index-main .inner .product .flex {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap; }
        .index-main .inner .product .flex .left {
          width: 50%; }
        .index-main .inner .product .flex .right {
          width: 48%;
          text-align: center;
          padding: 0 0 0 20px; }
          .index-main .inner .product .flex .right .btn {
            margin-top: 20px; }
    @media screen and (max-width: 768px) {
      .index-main .inner {
        padding: 0; }
        .index-main .inner h1 {
          overflow: hidden; }
          .index-main .inner h1 img {
            width: 100%; }
          .index-main .inner h1 .text {
            font-size: 20px;
            font-size: 2rem;
            line-height: 25px;
            left: 20px;
            bottom: 0px;
            z-index: 99; }
            .index-main .inner h1 .text img {
              width: 55%; }
          .index-main .inner h1 .buy-btn {
            right: 10px;
            width: 60px;
            bottom: 5%;
            z-index: 999; }
          .index-main .inner h1:after {
            content: "";
            width: 100%;
            height: 12px;
            background: url(../img/bg_black_up.png) no-repeat left bottom;
            background-size: cover;
            position: absolute;
            bottom: 0; }
        .index-main .inner .catch {
          font-size: 20px;
          font-size: 2rem;
          font-weight: bold;
          color: #fff;
          padding: 40px;
          letter-spacing: -0.02em; }
        .index-main .inner .product {
          padding: 0 10px 20px;
          margin: 0 auto 20px;
          width: 100%;
          text-align: center; }
          .index-main .inner .product img {
            width: auto;
            text-align: center;
            margin: 0 auto; }
          .index-main .inner .product .btn {
            margin: 20px auto 0;
            position: static;
            max-width: 250px;
            text-align: center; } }

.product-step {
  padding: 80px 0; }
  @media screen and (max-width: 768px) {
    .product-step {
      padding: 50px 0 30px;
      margin-top: -15px; }
      .product-step .slider01-thum {
        display: none; } }
  .product-step h2 {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .product-step h2 {
        font-size: 18px;
        font-size: 1.8rem;
        margin: 0 0 5px 0; } }
  .product-step ul.slider .slick-track {
    padding: 0 0 60px; }
  .product-step ul.slider li {
    max-width: 460px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 20px;
    font-size: 2rem;
    margin: 0 15px; }
    .product-step ul.slider li p.no {
      margin: -30px 0 0 0; }
    .product-step ul.slider li p, .product-step ul.slider li h2 {
      padding: 0 40px; }
  @media screen and (max-width: 768px) {
    .product-step ul.slider {
      padding: 0 40px; }
      .product-step ul.slider li {
        margin: 0 auto 40px;
        width: 100%;
        font-size: 14px;
        font-size: 1.4rem; }
        .product-step ul.slider li p.no {
          margin: -20px 0 0 0; }
          .product-step ul.slider li p.no img {
            width: 80px; }
        .product-step ul.slider li p, .product-step ul.slider li h2 {
          padding: 0 20px; }
      .product-step ul.slider .slick-track {
        padding: 0; } }

.story .inner {
  max-width: 960px;
  margin: 0 auto;
  text-align: center; }
  .story .inner h2 {
    margin: 0 0 60px; }
  .story .inner .catch {
    margin: 0 0 75px; }
  .story .inner .flex.pc {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto 120px; }
    .story .inner .flex.pc .left {
      width: 47%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0 3% 0 0;
      text-align: right;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .story .inner .flex.pc .left .text {
        color: #fff;
        position: relative;
        margin: 0 15px 0 0; }
        .story .inner .flex.pc .left .text p {
          position: absolute;
          bottom: 0;
          right: 0;
          text-align: left; }
    .story .inner .flex.pc .right {
      width: 47%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0 0 0 3%;
      text-align: left; }
      .story .inner .flex.pc .right .text {
        color: #fff;
        position: relative;
        margin: 0 0 0 15px; }
        .story .inner .flex.pc .right .text p {
          position: absolute;
          bottom: 0; }
    @media screen and (max-width: 768px) {
      .story .inner .flex.pc {
        display: none; } }
  @media screen and (max-width: 768px) {
    .story .inner .flex.sp {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 0 30px;
      margin: 0 0 30px; }
      .story .inner .flex.sp .right {
        width: 48%;
        margin: 0 0 0 2%; }
        .story .inner .flex.sp .right p {
          font-size: 12px;
          font-size: 1.2rem; }
      .story .inner .flex.sp .left {
        width: 48%;
        margin: 0 2% 0 0; }
        .story .inner .flex.sp .left p {
          font-size: 12px;
          font-size: 1.2rem; }
      .story .inner .flex.sp h3 {
        margin: 0 0 5px; }
      .story .inner .flex.sp .img {
        padding: 0 10px; } }
  .story .inner .catch-text {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: bold;
    margin: 0 0 20px; }
  .story .inner p.biko {
    font-size: 20px;
    font-size: 2rem;
    margin: 0 0 60px; }
  @media screen and (max-width: 768px) {
    .story .inner h2 {
      margin: 0 0 30px; }
    .story .inner .catch {
      margin: 0 0 25px; }
    .story .inner .catch-text {
      font-size: 20px;
      font-size: 2rem;
      margin: 0 0 20px; }
    .story .inner p.biko {
      font-size: 14px;
      font-size: 1.4rem;
      margin: 0 0 20px;
      padding: 0 40px; } }

.story ul.slider .slick-track {
  padding: 0 0 60px; }

.story ul.slider li {
  max-width: 460px;
  margin: 0 5px; }

@media screen and (max-width: 768px) {
  .story ul.slider .slick-track {
    padding: 0 0 30px; }
  .story ul.slider li {
    max-width: 250px; } }

.movie {
  text-align: center; }
  .movie h2 {
    margin: 0 0 60px; }
  .movie .comming {
    padding: 30px 0 50px 0; }
  .movie ul.slider .slick-track {
    padding: 0 0 60px; }
  .movie ul.slider li {
    max-width: 530px;
    margin: 0 15px; }
    .movie ul.slider li figcaption {
      color: #fff;
      font-size: 12px;
      margin-top: 10px; }
  @media screen and (max-width: 768px) {
    .movie {
      padding: 50px 0; }
      .movie h2 {
        margin: 0 0 30px; }
      .movie .comming {
        padding: 50px 0; }
      .movie ul.slider .slick-track {
        padding: 0 0 30px; }
      .movie ul.slider li {
        max-width: 270px;
        margin: 0 5px; } }

.detail {
  text-align: center; }
  .detail h2 {
    margin: 0 0 60px; }
  .detail ul.slider .slick-track {
    padding: 0 0 60px; }
  .detail ul.slider li {
    max-width: 460px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 20px;
    font-size: 2rem;
    text-align: left;
    position: relative;
    margin: 0 15px; }
    .detail ul.slider li .no {
      position: relative;
      margin: -30px 0 0; }
    .detail ul.slider li h3 {
      font-size: 28px;
      font-size: 2.8rem;
      font-weight: bold;
      line-height: 1.3;
      margin: 0 5px 0 0; }
    .detail ul.slider li p, .detail ul.slider li h3 {
      padding: 0 40px; }
  @media screen and (max-width: 768px) {
    .detail h2 {
      margin: 0 0 30px; }
    .detail .main-img {
      margin: 0 0 30px; }
    .detail ul.slider {
      padding: 0 40px; }
      .detail ul.slider .slick-track {
        display: none; }
      .detail ul.slider li {
        width: 100%;
        margin: 0 auto 40px !important;
        font-size: 14px;
        font-size: 1.4rem;
        margin: 0 auto; }
        .detail ul.slider li:last-child {
          margin: 0 auto !important; }
        .detail ul.slider li .no {
          position: relative;
          margin: -20px 0 0; }
          .detail ul.slider li .no img {
            width: 80px; }
        .detail ul.slider li h3 {
          font-size: 18px;
          font-size: 1.8rem;
          margin: 0 0 5px 0; }
        .detail ul.slider li p, .detail ul.slider li h3 {
          padding: 0 20px; }
    .detail .original-area {
      display: none; } }

.howto .inner {
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
  padding: 60px 0 80px; }
  .howto .inner h2 {
    margin: 0 0 60px; }
  .howto .inner .flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .howto .inner .flex .left {
      width: 48%;
      margin: 0 2% 0 0;
      text-align: left; }
      .howto .inner .flex .left iframe {
        width: 100%;
        aspect-ratio: 16/9; }
    .howto .inner .flex .right {
      width: 48%;
      margin: 0 0 0 2%;
      text-align: left; }
      .howto .inner .flex .right iframe {
        width: 100%;
        aspect-ratio: 16/9; }
    .howto .inner .flex h3 {
      margin: 0 0 5px; }

@media screen and (max-width: 768px) {
  .howto .inner {
    padding: 0; }
    .howto .inner h2 {
      margin: 0 0 30px; }
    .howto .inner .flex {
      display: block;
      padding: 0 50px; }
      .howto .inner .flex .left {
        max-width: 500px;
        width: 100%;
        margin: 0 auto 20px; }
        .howto .inner .flex .left h3 {
          width: 85px; }
      .howto .inner .flex .right {
        max-width: 500px;
        width: 100%;
        margin: 0 auto; }
        .howto .inner .flex .right h3 {
          width: 85px; } }

.combination .inner {
  max-width: 1030px;
  margin: 0 auto; }
  .combination .inner h2 {
    text-align: center;
    margin: 0 0 60px; }
  .combination .inner .flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 80px; }
    .combination .inner .flex figure {
      margin: 0 0 10px; }
    .combination .inner .flex .left {
      width: 48%;
      margin: 0 2% 0 0;
      text-align: left; }
    .combination .inner .flex .right {
      width: 48%;
      margin: 0 0 0 2%;
      text-align: left; }
  .combination .inner .flex02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 80%;
    margin: 0 auto;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .combination .inner .flex02 .left {
      width: 48%;
      margin: 0 2% 0 0;
      text-align: left; }
    .combination .inner .flex02 .right {
      width: 48%;
      margin: 0 0 0 2%;
      text-align: center; }
      .combination .inner .flex02 .right .btn {
        /*background: #fff;
          color: #000;
          border-radius: 30px;
          @include font-size(16);
          padding: 10px 0;
          line-height: 1;
          width: 90%;
          margin: 0 auto;
          font-weight: bold;*/ }

@media screen and (max-width: 768px) {
  .combination {
    padding: 30px 0; }
    .combination .inner h2 {
      text-align: center;
      margin: 0 0 30px; }
    .combination .inner .flex {
      display: block;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto 40px;
      padding: 0 30px; }
      .combination .inner .flex figure {
        margin: 0 auto 10px;
        text-align: center; }
      .combination .inner .flex p {
        padding: 0 40px;
        font-size: 14px;
        font-size: 1.4rem; }
      .combination .inner .flex .left {
        max-width: 480px;
        width: 100%;
        margin: 0 auto 20px; }
      .combination .inner .flex .right {
        max-width: 480px;
        width: 100%;
        margin: 0 auto; }
    .combination .inner .flex02 {
      display: block;
      width: 100%;
      margin: 0 auto;
      padding: 0 50px; }
      .combination .inner .flex02 .left {
        text-align: center;
        width: 100%;
        margin: 0 auto 20px;
        padding: 0 20px; }
      .combination .inner .flex02 .right {
        width: 100%;
        margin: 0;
        text-align: center; }
        .combination .inner .flex02 .right .btn {
          max-width: 120px;
          margin: 0 auto;
          /* background: #fff;
            color: #000;
            border-radius: 30px;
            @include font-size(12);
            padding: 10px 0;
            line-height: 1;
            width: 100%;
            margin: 0 auto;*/ } }

.shop {
  padding: 60px 0 0; }
  .shop .inner {
    max-width: 1200px;
    margin: 0 auto; }
    .shop .inner h2 {
      text-align: center;
      margin: 0 0 40px; }
    .shop .inner .ttl_text {
      margin: 0 auto 60px;
      font-size: 20px;
      font-size: 2rem;
      text-align: center; }
    .shop .inner .shop-area {
      background: #fff;
      max-width: 910px;
      margin: 0 auto;
      border: 2px solid #707070; }
      .shop .inner .shop-area ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding: 30px 30px 30px 35px; }
        .shop .inner .shop-area ul li {
          width: 32%;
          margin: 0 2% 0 0; }
          .shop .inner .shop-area ul li:last-child {
            margin: 0; }
          .shop .inner .shop-area ul li figure {
            margin: 0 0 15px; }
          .shop .inner .shop-area ul li h3 {
            font-size: 16px;
            font-size: 1.6rem;
            font-weight: bold; }
          .shop .inner .shop-area ul li .text {
            margin: 0 0 10px; }
  @media screen and (max-width: 768px) {
    .shop {
      padding: 30px 0 0; }
      .shop .inner h2 {
        margin: 0 0 15px; }
      .shop .inner .ttl_text {
        margin: 0 auto 20px;
        font-size: 14px;
        font-size: 1.4rem; }
      .shop .inner .shop-area {
        background: none;
        width: 100%;
        border: none; }
        .shop .inner .shop-area ul {
          display: block;
          padding: 0 30px; }
          .shop .inner .shop-area ul li {
            width: 100%;
            margin: 0 0 10px;
            background: #fff;
            padding: 25px;
            border: 2px solid #707070;
            text-align: center; }
            .shop .inner .shop-area ul li:last-child {
              margin: 0; }
            .shop .inner .shop-area ul li figure {
              margin: 0 0 15px; }
              .shop .inner .shop-area ul li figure img {
                width: 100%; }
            .shop .inner .shop-area ul li h3 {
              font-size: 16px;
              font-size: 1.6rem;
              font-weight: bold;
              text-align: left; }
            .shop .inner .shop-area ul li .text {
              margin: 0 0 10px;
              text-align: left;
              font-size: 14px;
              font-size: 1.4rem; } }

.main p:not([class]) {
  margin-top: 0.5em;
  margin-bottom: 1.5em; }

.main br.sp {
  display: none; }

a:hover {
  opacity: 0.7; }

p.btn a:hover {
  opacity: 1; }
