@charset "UTF-8";
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0; }

body{font-family: 'Noto Serif JP', serif!important;}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ul {
  list-style: none; }

button, input, select, textarea {
  margin: 0; }

html {
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

img, embed, iframe, object, video {
  height: auto;
  max-width: 100%; }

audio {
  max-width: 100%; }

iframe {
  border: 0; }

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

td, th {
  padding: 0;
  text-align: left; }

textarea, input[type="email"], input[type="password"], input[type="text"], input[type="button"], input[type="submit"] {
  -webkit-appearance: none; }

textarea {
  resize: vertical; }

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 1000px white inset;
  outline: none; }

input, button {
  outline: none; }

s
area {
  border: none;
  outline: none; }

img {
  -ms-interpolation-mode: bicubic; }

* {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.25);
  max-height: 999999px; }
  *::before, *::after {
    will-change: all;
    box-sizing: border-box; }

em, i, b {
  font-weight: normal;
  font-style: normal; }

i {font-style: italic!important; }

body {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Roboto, "Droid Sans", YuGothic, "游ゴシック", "メイリオ", Meiryo, Osaka, sans-serif; }

input, textarea, select {
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Roboto, "Droid Sans", YuGothic, "游ゴシック", "メイリオ", Meiryo, Osaka, sans-serif; }

a {
  cursor: pointer; }

a:link {
  color: #c8a164; }

a:visited {
  color: #c8a164; }

a:hover {
  color: #c8a164;
  text-decoration: none; }

a:active {
  color: #c8a164; }

.clr {
  clear: both; }

.hide {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important; }

section {
  clear: both;
  zoom: 1; }

article:after, section:after, .clrFx:after {
  content: '';
  clear: both;
  display: block; }

@media screen and (min-width: 781px) {
  .sp-item {
    display: none !important; } }
body {
  position: static;
  overflow: auto;
  width: auto;
  *overflow-y: hidden;
  color: #674e44;
  font-size: 0;
  line-height: 1;
  z-index: 0;
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Roboto, "Droid Sans", YuGothic, "游ゴシック", "メイリオ", Meiryo, Osaka, sans-serif; }

.over-section {
  margin: 0 -800px;
  zoom: 1;
  position: relative;
  *overflow-y: hidden;
  clear: both;
  padding: 0; }

.over-section:after {
  content: '';
  clear: both;
  display: block; }

main {
  padding: 0;
  position: relative; }

section {
  width: 100%;
  margin: 0 auto;
  clear: both;
  zoom: 1;
  position: relative;
  z-index: 100;
  padding: 0; }

.wrap {
  margin: 0 auto;
  clear: both;
  zoom: 1;
  position: relative;
  z-index: 100;
  padding: 0; }

article {
  margin: 0 auto;
  clear: both;
  zoom: 1;
  position: relative;
  z-index: 10;
  padding: 0; }

article:after, section:after, .wrap:after {
  content: '';
  clear: both;
  display: block; }

#wrapper {
  background: #fff; }

#loading {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 20000; }

main {
  width: 100%;
  text-align: center;
  z-index: 10;
  display: block;
  min-width: 1100px; }

#contents {
  width: 844px;
  margin: 0 auto;
  text-align: left;
  padding-bottom: 80px;
  z-index: 10;
  position: relative;
  /*見出し*/
  /*ローカルナビ*/
  /*文*/
  /*画像レイアウト*/
  /*table*/
  /* recruit */
  /*shop*/
  /*区切り*/
  /* 余白 */ }
  #contents .pagetitle {
    width: 100%;
    height: auto;
    padding: 165px 0 106px;
    text-align: center; }
  #contents .heading {
    color: #c79f60;
    font-size: 32px;
    text-align: center;
    border-top: 1px solid #c79f60;
    border-bottom: 1px solid #c79f60;
    padding: 42px 0;
    margin-bottom: 54px;
    letter-spacing: 0.1em;
    font-weight: bold; }
    #contents .heading span.rubywrap {
      display: inline-block;
      position: relative; }
      #contents .heading span.rubywrap ruby {
        font-size: 10px;
        width: 100%;
        height: auto;
        position: absolute;
        left: 0;
        top: -1.8em;
        display: block;
        letter-spacing: 0.5em; }
  #contents h2.default,
  #contents h3.default {
    color: #c79f60;
    font-size: 32px;
    line-height: 42px;
    font-weight: 700;
    letter-spacing: 0.05em; }
    #contents h2.default span.rubywrap,
    #contents h3.default span.rubywrap {
      display: inline-block;
      position: relative;
      text-align: center; }
      #contents h2.default span.rubywrap ruby,
      #contents h3.default span.rubywrap ruby {
        font-size: 10px;
        width: 100%;
        height: auto;
        position: absolute;
        left: 0;
        top: -2.8em;
        display: block;
        letter-spacing: 0.5em; }
  #contents h2.border,
  #contents h3.border {
    color: #c79f60;
    font-size: 27px;
    font-weight: 700;
    letter-spacing: 0.1em;
    border-bottom: 1px solid #c79f60;
    padding-bottom: 12px;
    clear: both; }
    #contents h2.border span.rubywrap,
    #contents h3.border span.rubywrap {
      display: inline-block;
      position: relative; }
      #contents h2.border span.rubywrap ruby,
      #contents h3.border span.rubywrap ruby {
        font-size: 10px;
        width: 100%;
        height: auto;
        position: absolute;
        left: 0;
        top: -1.8em;
        display: block;
        letter-spacing: 0.5em; }
  #contents h2.border.center,
  #contents h3.border.center {
    text-align: center;
    padding-bottom: 35px; }
  #contents .ln {
    text-align: center;
    margin: 0 0 56px -7px;
    width: 858px; }
    #contents .ln a {
      display: inline-block;
      position: relative;
      background: #c79f60;
      transition: background 0.4s;
      margin: 0 7px; }
      #contents .ln a::after {
        content: '';
        width: 100%;
        height: 100%;
        border: 2px solid #c79f60;
        position: absolute;
        left: 0;
        top: 0; }
      #contents .ln a img {
        transition: opacity 0.4s;
        height: 37px; }
      #contents .ln a img + img {
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0; }
    #contents .ln a.on,
    #contents .ln a:hover {
      background-color: #fff; }
      #contents .ln a.on img,
      #contents .ln a:hover img {
        opacity: 0; }
      #contents .ln a.on img + img,
      #contents .ln a:hover img + img {
        opacity: 1; }
  #contents .ln ~ .ln,
  #contents .ln ~ section .ln {
    margin-bottom: 0; }
  #contents p {
    font-size: 18px;
    line-height: 1.75;
    font-feature-settings: "palt";
    letter-spacing: 0.05em; }


  p.attention
{ font-size: 14px!important;
float: right;}

    #contents p b {
      font-weight: bold; }
    #contents p small {
      font-size: 13px; }
  #contents p.right {
    text-align: right; }
  #contents p.note {
    font-size: 13px;
    color: #c9b79a; }
  #contents ul.arr {
    font-size: 18px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em; }
    #contents ul.arr li {
      padding: 0 0 0 30px;
      position: relative; }
      #contents ul.arr li::before {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5px 0 5px 10px;
        border-color: transparent transparent transparent #c79f60;
        position: absolute;
        left: 8px;
        top: 4px; }
    #contents ul.arr li + li {
      margin-top: 22px; }
  #contents ol.num {
    font-size: 18px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em; }
    #contents ol.num li {
      margin-left: 1.5em; }
    #contents ol.num li + li {
      margin-top: 22px; }
  #contents figure {
    text-align: center;
    margin-bottom: 38px; }
  #contents .img_floatleft figure {
    width: 400px;
    margin: 0 20px 15px 0;
    float: left; }
    #contents .img_floatleft figure img {
      width: 100%;
      height: auto; }
  #contents .img_floatleft::after {
    content: '';
    clear: both;
    display: block; }
  #contents .img_left {
    display: flex;
    justify-content: space-between; }
    #contents .img_left figure {
      width: 400px; }
      #contents .img_left figure img {
        width: 100%;
        height: auto; }
    #contents .img_left .text {
      width: 422px;
      margin-top: -5px; }
  #contents table.default {
    font-size: 18px;
    line-height: 1.75;
    width: 100%;
    font-feature-settings: "palt";
    letter-spacing: 0.05em; }
    #contents table.default caption {
      background: #b3a6a1;
      color: #fff;
      text-align: left;
      line-height: 42px;
      padding: 0 12px;
      margin-bottom: 15px; }
    #contents table.default th {
      text-align: right;
      font-weight: bold;
      vertical-align: top;
      white-space: nowrap;
      padding: 7px 0; }
    #contents table.default td {
      vertical-align: top;
      padding: 7px 0; }
  #contents dl.recruit {
    font-size: 18px;
    line-height: 32px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em; }
    #contents dl.recruit dt {
      float: left;
      width: 150px;
      text-align: right;
      font-weight: bold; }
    #contents dl.recruit dd {
      zoom: 1;
      overflow: hidden;
      padding-left: 1.3em;
      position: relative; }
      #contents dl.recruit dd::before {
        content: '：';
        position: absolute;
        left: 0;
        top: 0;
        font-weight: bold; }
      #contents dl.recruit dd img {
        vertical-align: top; }
      #contents dl.recruit dd a {
        display: inline-block;
        vertical-align: top; }
      #contents dl.recruit dd a img {
        margin-top: 5px; }
      #contents dl.recruit dd a + img {
        margin: -6px 0 0 10px; }
    #contents dl.recruit dt ~ dt {
      margin-top: 35px; }
    #contents dl.recruit dd ~ dd {
      margin-top: 35px; }
  #contents div.recruit {
    clear: both; }
    #contents div.recruit h3 {
      background: #b3a6a1;
      color: #fff;
      text-align: left;
      line-height: 42px;
      padding: 0 12px;
      margin-bottom: 40px;
      font-size: 18px; }
      #contents div.recruit h3 b {
        font-weight: bold; }
    #contents div.recruit figure {
      float: left;
      padding: 0 40px 40px 0;
      margin-bottom: 0; }
    #contents div.recruit figure img {
      width: 186px;
      height: auto; }
    #contents div.recruit dl {
      zoom: 1;
      overflow: hidden;
      font-size: 18px;
      line-height: 1.75;
      font-feature-settings: "palt";
      letter-spacing: 0.05em; }
    #contents div.recruit dl + dl {
      margin-top: 22px; }
  #contents div.recruit + div.recruit {
    margin-top: 67px; }
  #contents .shop {
    position: relative; }
  #contents .shop.honten {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 56px; }
    #contents .shop.honten figure {
      width: 422px; }
      #contents .shop.honten figure img {
        width: 100%;
        height: auto; }
    #contents .shop.honten .text {
      width: 384px; }
      #contents .shop.honten .text dl {
        margin-top: 20px; }
        #contents .shop.honten .text dl dt {
          float: left;
          width: 130px; }
          #contents .shop.honten .text dl dt span {
            line-height: 25px;
            font-size: 15px;
            color: #fff;
            display: block;
            text-align: center;
            background: #b3a6a1; }
        #contents .shop.honten .text dl dd {
          font-size: 16px;
          line-height: 29px;
          zoom: 1;
          overflow: hidden;
          padding: 0 0 0 25px; }
        #contents .shop.honten .text dl dt ~ dt,
        #contents .shop.honten .text dl dd ~ dd {
          margin-top: 21px; }
  #contents .shoplist header {
    position: relative;
    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 6px; }
    #contents .shoplist header small {
      font-size: 13px;
      line-height: 23px;
      color: #c79f60;
      text-align: right;
      display: inline-block; }
  #contents .shoplist table {
    border: 1px solid #c79f60;
    width: 100%; }
    #contents .shoplist table th, #contents .shoplist table td {
      border: 1px solid #c79f60;
      font-size: 16px;
      line-height: 1.75;
      padding: 19px 20px; }
    #contents .shoplist table th small {
      font-size: 13px;
      display: block;
      text-align: center; }
    #contents .shoplist table td br {
      display: none; }
    #contents .shoplist table p {
      font-size: 16px;
      line-height: 1.75;
      margin: 0; }
      #contents .shoplist table p b {
        line-height: 25px;
        font-size: 15px;
        color: #fff;
        display: inline-block;
        text-align: center;
        background: #b3a6a1;
        width: 130px;
        margin-right: 15px;
        font-weight: normal; }
    #contents .shoplist table p + p {
      margin-top: 17px; }
    #contents .shoplist table th {
      text-align: center; }
  #contents .shoplist + .shoplist {
    margin-top: 64px; }
  #contents hr {
    clear: both;
    background: #c79f60;
    border: none;
    padding: 0;
    margin: 0;
    height: 1px; }
  #contents hr {
    margin: 74px 0; }
  #contents section + section {
    margin-top: 94px; }
  #contents section + hr {
    margin: 35px 0 140px; }
  #contents section:last-of-type + hr {
    margin: 59px 0 140px; }
  #contents section:last-of-type + hr + .ln {
    margin: -80px 0 0px; }
  #contents .default + p {
    margin-top: 11px; }
  #contents p + hr {
    margin-top: 67px; }
  #contents p + p {
    margin-top: 41px; }
  #contents p + ul,
  #contents p + ol {
    margin-top: 41px; }
  #contents p.note + p {
    margin-top: 10px; }
  #contents p + .border,
  #contents ul + .border,
  #contents ol + .border {
    margin-top: 75px; }
  #contents h2.border + *,
  #contents h3.border + * {
    margin-top: 30px; }
  #contents h2.border + table.default {
    margin-top: 14px; }
  #contents h2.border + p,
  #contents h3.border + p {
    margin-top: 25px; }
  #contents h2.border.center + *,
  #contents h3.border.center + * {
    margin-top: 74px; }
  #contents table.default + table.default {
    margin-top: 35px; }
  #contents table.default + h2.border {
    margin-top: 84px; }

.siteheader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  min-width: 1100px;
  z-index: 110; }

.gnav {
  position: absolute;
  left: 50%;
  top: 13px;
  width: 700px;
  margin-left: -350px;
  z-index: 100; }
  .gnav::after {
    content: '';
    width: 500%;
    height: 81px;
    background: #fff;
    position: absolute;
    left: -200%;
    top: -18px;
    z-index: -1; }
  .gnav ul {
    display: flex;
    justify-content: center; }
  .gnav li {
    position: relative; }
  .gnav li ~ li::before {
    content: '';
    width: 1px;
    height: 17px;
    background: #674e44;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -8px; }
  .gnav a {
    display: block;
    height: 43.1428571427px;
    width: 95.0714285709px;
    position: relative; }
  .gnav a::before {
    content: '';
    background-image: url("../images/nav.png");
    background-repeat: no-repeat;
    background-position: left 9px;
    background-size: 651.357142854px 96.6428571411px;
    height: 43.1428571427px;
    width: 95.0714285709px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    transition: 0.3s; }
  .gnav a::after {
    content: '';
    background-image: url("../images/nav_on.png");
    background-repeat: no-repeat;
    background-position: left 9px;
    background-size: 651.357142854px 96.6428571411px;
    height: 43.1428571427px;
    width: 95.0714285709px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    transition: 0.3s;
    opacity: 0; }
  .gnav .news a,
  .gnav .news a::before,
  .gnav .news a::after {
    width: 119.428571428px;
    background-position: -95.0714285709px 9px; }
  .gnav .history a,
  .gnav .history a::before,
  .gnav .history a::after {
    width: 80.1428571424px;
    background-position: -214.499999999px 9px; }
  .gnav .products a,
  .gnav .products a::before,
  .gnav .products a::after {
    width: 119.428571428px;
    background-position: -294.642857141px 9px; }
  .gnav .shoplist a,
  .gnav .shoplist a::before,
  .gnav .shoplist a::after {
    width: 118.642857142px;
    background-position: -414.071428569px 9px; }
  .gnav .brand a,
  .gnav .brand a::before,
  .gnav .brand a::after {
    width: 118.642857142px;
    background-position: -532.714285711px 9px; }
  .gnav a:hover {
    opacity: 1; }
  .gnav a:hover::before {
    opacity: 0; }
  .gnav a:hover::after {
    opacity: 1; }

#home .gnav ul li.top a::before {
  opacity: 0; }

#home .gnav ul li.top a::after {
  opacity: 1; }

#news .gnav ul li.news a::before {
  opacity: 0; }

#news .gnav ul li.news a::after {
  opacity: 1; }

#products .gnav ul li.products a::before {
  opacity: 0; }

#products .gnav ul li.products a::after {
  opacity: 1; }

[data-gn='shop'] .gnav ul li.shoplist a::before {
  opacity: 0; }

[data-gn='shop'] .gnav ul li.shoplist a::after {
  opacity: 1; }

.control {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  min-width: 1100px;
  z-index: 120; }
  .control .sns {
    padding: 11px 0 0 11.7857142857px;
    position: absolute;
    left: 0;
    top: 0px;
    z-index: 100; }
  .control .sns a {
    display: inline-block;
    width: 50.2857142854px;
    height: 50.2857142854px;
    margin: 0 9.42857142852px;
    position: relative; }
    .control .sns a::before, .control .sns a::after {
      background-image: url("../images/icon_facebook.png");
      background-position: center center;
      background-size: 50.2857142854px auto;
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: 10;
      background-repeat: no-repeat;
      transition: opacity 0.3s; }
    .control .sns a::after {
      background-image: url("../images/icon_facebook_on.png");
      opacity: 0; }
    .control .sns a[href*='twitter']::before {
      background-image: url("../images/icon_twitter.png"); }
    .control .sns a[href*='twitter']::after {
      background-image: url("../images/icon_twitter_on.png"); }
    .control .sns a[href*='insta']::before {
      background-image: url("../images/icon_instagram.png"); }
    .control .sns a[href*='insta']::after {
      background-image: url("../images/icon_instagram_on.png"); }
  .control a:hover::before {
    opacity: 0; }
  .control a:hover::after {
    opacity: 1; }
  .control .lang {
    font-size: 18.0714285713px;
    font-weight: bold;
    display: flex;
    position: absolute;
    right: 11.7857142857px;
    top: 23.5714285713px;
    z-index: 100; }
    .control .lang li {
      padding: 0 12.5714285714px;
      position: relative; }
    .control .lang li ~ li::before {
      content: '/';
      position: absolute;
      left: -0.25em;
      top: 0; }
    .control .lang a {
      color: #674e44;
      text-decoration: none; }
    .control .lang a:hover {
      color: #c8a164; }
  .control .onlinestore {
    position: absolute;
    right: 0;
    top: 254px;
    z-index: 100; }
    .control .onlinestore::after {
      content: '';
      width: 72px;
      height: 130%;
      background: red;
      position: absolute;
      right: 0;
      top: -25px;
      z-index: -1;
      opacity: 0; }
    .control .onlinestore p a {
      display: block;
      background: url("../images/btn_onlinestore.jpg") left top no-repeat;
      width: 53px;
      height: 252px;
      background-size: cover; }
    .control .onlinestore .store {
      position: absolute;
      right: 70px;
      top: -25px;
      background: url("../images/bg_store@pc.png") no-repeat;
      width: 242px;
      height: 305px;
      display: flex;
      align-content: center;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      padding-right: 19px;
      opacity: 0;
      z-index: -9999px;
      right: -1000px;
      transition: opacity 0.6s; }
      .control .onlinestore .store a {
        display: inline-block;
        padding: 8px 0;
        border-top: 2px solid #d8ceca; }
      .control .onlinestore .store a:last-child {
        border-bottom: 2px solid #d8ceca; }
      .control .onlinestore .store a img {
        width: 160px;
        height: auto; }
      .control .onlinestore .store a:hover img {
        transform: scale(1); }
  .control .onlinestore.show .store {
    opacity: 1;
    z-index: 100;
    right: 70px; }
  .control .onlinestore.show.end .store {
    opacity: 0;
    z-index: 100;
    right: 70px;
    transition: opacity 0.3s; }
  .control a {
    transition: opacity 0.3s; }
  .control a:hover {
    opacity: 0.7; }

[lang='ja'] .control .lang .jp a {
  text-decoration: underline; }

.pagetop {
  text-align: center;
  padding: 0 0 90px; }
  .pagetop a {
    display: block;
    height: 40px;
    width: 120px;
    background: url("../images/pagetop.png") center center no-repeat;
    background-size: auto 26px;
    margin: 0 auto; }
  .pagetop a {
    transition: opacity 0.3s; }
  .pagetop a:hover {
    opacity: 0.5; }

.sitefooter {
  background: #e0e0e0;
  position: relative;
  z-index: 10;
  min-width: 1100px; }
  .sitefooter ul {
    display: flex;
    justify-content: center;
    padding: 30px 0 24px; }
    .sitefooter ul li {
      padding: 0 13px;
      position: relative; }
      .sitefooter ul li a {
        color: #343434;
        text-decoration: none;
        font-size: 13px; }
      .sitefooter ul li a:hover {
        text-decoration: underline; }
    .sitefooter ul li ~ li::before {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      background: #343434; }
  .sitefooter .copyrights {
    font-size: 12px;
    line-height: 1.75;
    color: #666;
    text-align: center;
    padding-bottom: 24px; }

.sitefooter .kirarilogo {
  text-align: center;
	padding-bottom: 10px;
	position: absolute;
    left: 50%;
    margin-left: 180px;
	bottom: 6px;
}

#bg {
  position: relative;
  min-width: 1100px;
  width: 100%;
  overflow: hidden; }
  #bg::before {
    content: '';
    width: 400px;
    background: url("../images/bg_left@pc.jpg") left top repeat-y;
    position: absolute;
    left: 50%;
    top: 0;
    height: 100%;
    margin-left: -800px; }
  #bg::after {
    content: '';
    width: 400px;
    background: url("../images/bg_right@pc.jpg") left top repeat-y;
    position: absolute;
    right: 50%;
    top: 0;
    height: 100%;
    margin-right: -800px; }

@media screen and (min-width: 1101px) and (max-width: 1400px) {
  .gnav {
    top: 1.1428571429vw;
    width: 59.2857142857vw;
    margin-left: -29.6428571429vw; }
    .gnav li ~ li::before {
      content: '';
      width: 1px;
      height: 1.4285714286vw;
      margin-top: -0.6428571429vw; }
    .gnav a {
      display: block;
      height: 3.2857142857vw;
      width: 8.6428571429vw; }
    .gnav a::before,
    .gnav a::after {
      background-size: 59.2142857143vw 8.7857142857vw;
      background-position: left 0.8571428571vw; }
    .gnav .news a,
    .gnav .news a::after,
    .gnav .news a::before {
      width: 10.8571428571vw;
      background-position: -8.6428571429vw 0.8571428571vw; }
    .gnav .history a,
    .gnav .history a::before,
    .gnav .history a::after {
      width: 7.2857429vw;
      background-position: -19.4vw 0.8571428571vw; }
    .gnav .products a,
    .gnav .products a::before,
    .gnav .products a::after {
      width: 10.8571429vw;
      background-position: -26.7vw 0.8571428571vw; }
    .gnav .shoplist a,
    .gnav .shoplist a::before,
    .gnav .shoplist a::after {
      width: 10.8571429vw;
      background-position: -37.5714286vw 0.8571428571vw; }
    .gnav .brand a,
    .gnav .brand a::before,
    .gnav .brand a::after {
      width: 10.8571429vw;
      background-position: -48.5vw 0.8571428571vw; }

  .control {
    /*
      .sns{padding: svw(14) 0 0 svw(15);}
      .sns a{width: svw(64); height: svw(64); margin: 0 svw(12);
      .sns a::before,
      .sns a::after{ background-size: svw(64) auto;}
      }
      */ }
    .control .lang {
      font-size: 1.6428571429vw;
      font-weight: bold;
      display: flex;
      position: absolute;
      right: 1.0714285714vw;
      top: 2.1428571429vw;
      z-index: 100; }
      .control .lang li {
        padding: 0 1.1428571429vw;
        position: relative; }

  .onlinestore {
    top: 254px; }
    .onlinestore p a {
      width: 53px;
      height: 252px; } }
@media screen and (min-width: 1401px) {
  .gnav {
    top: 16px;
    width: 830px;
    margin-left: -415px; }
    .gnav li ~ li::before {
      height: 20px;
      margin-top: -9px; }
    .gnav a {
      height: 46px;
      width: 121px; }
    .gnav a::before,
    .gnav a::after {
      background-size: 850px 123px;
      background-position: -6px 12px; }
    .gnav .news a,
    .gnav .news a::before,
    .gnav .news a::after {
      width: 152px;
      background-position: -121px 12px; }
    .gnav .history a,
    .gnav .history a::before,
    .gnav .history a::after {
      width: 102px;
      background-position: -280px 12px; }
    .gnav .products a,
    .gnav .products a::before,
    .gnav .products a:after {
      width: 152px;
      background-position: -385px 12px; }
    .gnav .shoplist a,
    .gnav .shoplist a::before,
    .gnav .shoplist a::after {
      width: 152px;
      background-position: -540px 12px; }
    .gnav .brand a,
    .gnav .brand a::before,
    .gnav .brand a::after {
      width: 151px;
      background-position: -700px 12px; }
    .gnav a:hover {
      opacity: 1; }

  .control {
    /*
      .sns{padding: 14px 0 0 15px;}
      .sns a{width: 64px; height: 64px; margin: 0 12px; background-position: center center; background-size: 64px 64px;
      .sns a::before,
      .sns a::after{ background-size: 64px 64px;}
      }
      */ }
    .control .sns {
      padding: 14px 0 0 15px; }
    .control .lang {
      font-size: 23px;
      right: 15px;
      top: 30px; }
      .control .lang li {
        padding: 0 16px; }

  .onlinestore {
    top: 254px; }
    .onlinestore p a {
      width: 53px;
      height: 252px; } }
@media screen and (min-width: 1601px) {
  #bg::before {
    left: 0;
    margin-left: 0; }
  #bg::after {
    right: 0;
    margin-right: 0; } }
@media screen and (max-width: 780px) {
  /*
  
  	SP STYLE
  
  **************************************************************/
  .pc-item {
    display: none !important; }

  body {
    min-width: 100%; }

  .over-section {
    margin: 0; }

  #wrapper {
    width: 100%;
    min-width: inherit;
    background-attachment: inherit; }

  main {
    min-width: inherit; }

  #contents {
    width: 100%;
    min-width: inherit;
    padding: 0 5.1282051282vw 33.3333333333vw;
    /*見出し*/
    /*ローカルナビ*/
    /*文*/
    /*画像レイアウト*/
    /*table*/
    /* recruit */
    /*shop*/
    /*区切り*/
    /* 余白 */ }
	
	
    #contents .pagetitle {
      padding: 20.5128205128vw 0 25.3846153846vw;
      text-align: center;
      position: relative;
      display: flex;
      justify-content: center; }
      #contents .pagetitle img {
        height: 7.1794871795vw;
        width: auto;
        max-width: inherit; }
    #contents .pagetitle.spmin img {
      height: 5.3846153846vw; }
    #contents .pagetitle.spimg {
      height: 52.9487179487vw; }
      #contents .pagetitle.spimg img {
        width: 100vw;
        height: auto;
        position: absolute;
        left: -5.1282051282vw;
        top: 20.5128205128vw; }
    #contents .heading {
      font-size: 4.8717948718vw;
      padding: 5.1282051282vw 0;
      margin-bottom: 6.4102564103vw; }
      #contents .heading span.rubywrap ruby {
        font-size: 1.9230769231vw;
        top: -1.5em; }
    #contents h2.default,
    #contents h3.default {
      font-size: 4.8717948718vw;
      line-height: 1.3125; }
      #contents h2.default span.rubywrap ruby,
      #contents h3.default span.rubywrap ruby {
        font-size: 1.9230769231vw;
        top: -1.2em; }
    #contents h2.border,
    #contents h3.border {
      font-size: 4.4871794872vw;
      padding-bottom: 1.0256410256vw;
      line-height: 1.3125; }
      #contents h2.border span.rubywrap ruby,
      #contents h3.border span.rubywrap ruby {
        font-size: 1.9230769231vw; }
    #contents h2.border.center,
    #contents h3.border.center {
      text-align: center;
      padding-bottom: 4.8717948718vw; }
    #contents .ln {
      text-align: center;
      margin: 0 0 5.641025641vw -5.1282051282vw;
      width: 100vw; }
      #contents .ln a {
        margin: 0 2.5641025641vw 4.6153846154vw; }
        #contents .ln a img {
          height: 10.2564102564vw; }
    #contents .ln.min a img {
      height: 7.6923076923vw; }
    #contents .ln ~ .ln {
      display: none; }
    #contents p {
      font-size: 3.9743589744vw;
      line-height: 7.6923076923vw; }
	
	  p.attention{
      font-size: 2.974359vw!important;
	float:none;	  
      }
	
      #contents p small {
        font-size: 3.0769230769vw; }
    #contents p.note {
      font-size: 3.0769230769vw;
      line-height: 1.3125; }
    #contents ul.arr {
      font-size: 3.9743589744vw; }
      #contents ul.arr li {
        padding: 0 0 0 5.1282051282vw; }
        #contents ul.arr li::before {
          border-width: 0.8974358974vw 0 0.8974358974vw 1.7948717949vw;
          border-color: transparent transparent transparent #c79f60;
          position: absolute;
          left: 1.2820512821vw;
          top: 0.8974358974vw; }
      #contents ul.arr li + li {
        margin-top: 3.8461538462vw; }
    #contents ol.num {
      font-size: 3.9743589744vw; }
      #contents ol.num li {
        line-height: 7.6923076923vw; }
      #contents ol.num li + li {
        margin-top: 0vw; }
    #contents figure {
      text-align: center;
      margin-bottom: 3.5897435897vw; }
    #contents .img_floatleft figure {
      width: inherit;
      margin: 0 0 3.5897435897vw 0;
      float: none; }
    #contents .img_left {
      display: block; }
      #contents .img_left figure {
        width: inherit; }
        #contents .img_left figure img {
          width: 100%;
          height: auto; }
      #contents .img_left .text {
        width: inherit;
        margin-top: 0; }
    #contents table.default {
      font-size: 3.9743589744vw;
      line-height: 7.6923076923vw;
      display: block; }
      #contents table.default caption {
        line-height: 8.2051282051vw;
        padding: 1.0256410256vw 1.9230769231vw;
        margin-bottom: 1.6666666667vw; }
      #contents table.default tr {
        display: block; }
        #contents table.default tr span {
          display: none; }
      #contents table.default th {
        text-align: left;
        white-space: inherit;
        padding: 1.9230769231vw 0 0;
        display: block; }
      #contents table.default td {
        padding: 0vw 0 1.9230769231vw;
        display: block; }
      #contents table.default tr ~ tr th {
        padding-top: 5.8974358974vw; }
    #contents dl.recruit {
      font-size: 3.9743589744vw;
      line-height: 7.6923076923vw;
      padding-top: 2.0512820513vw; }
      #contents dl.recruit dt {
        float: none;
        width: auto;
        text-align: left; }
        #contents dl.recruit dt::after {
          content: '：';
          font-weight: bold; }
      #contents dl.recruit dd {
        padding-left: 0; }
        #contents dl.recruit dd::before {
          display: none; }
        #contents dl.recruit dd img {
          vertical-align: top; }
        #contents dl.recruit dd a {
          display: inline-block;
          vertical-align: top;
          margin-top: 5px; }
          #contents dl.recruit dd a img {
            width: 61.5384615385vw; }
      #contents dl.recruit dt ~ dt {
        margin-top: 7.9487179487vw; }
      #contents dl.recruit dd ~ dd {
        margin-top: 0; }
    #contents div.recruit {
      clear: both; }
      #contents div.recruit header {
        display: flex;
        flex-direction: row-reverse;
        align-content: flex-start;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 1.2820512821vw; }
      #contents div.recruit h3 {
        line-height: 6.4102564103vw;
        padding: 1.0256410256vw 3.8461538462vw;
        margin-bottom: 0vw;
        font-size: 3.9743589744vw;
        background: #b3a6a1;
        height: 23.8461538462vw;
        width: 62.3076923077vw;
        display: flex;
        align-content: center;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center; }
      #contents div.recruit h3 b {
        display: block; }
      #contents div.recruit figure {
        float: none;
        padding: 0 0 0vw; }
      #contents div.recruit figure img {
        width: 23.8461538462vw;
        height: auto; }
      #contents div.recruit dl {
        font-size: 3.9743589744vw; }
      #contents div.recruit dl + dl {
        margin-top: 6.4102564103vw; }
    #contents div.recruit + div.recruit {
      margin-top: 12.8205128205vw; }
    #contents dl.recruit dd a {
      margin-top: 0; }
    #contents .shop.honten {
      display: block;
      margin-bottom: 10.8974358974vw; }
      #contents .shop.honten figure {
        width: 58.9743589744vw;
        margin: 0 auto 8.4615384615vw; }
      #contents .shop.honten .text {
        width: auto; }
        #contents .shop.honten .text dl {
          margin-top: 2.5641025641vw; }
          #contents .shop.honten .text dl dt {
            clear: both;
            width: 23.0769230769vw; }
            #contents .shop.honten .text dl dt span {
              line-height: 6.4102564103vw;
              font-size: 3.9743589744vw; }
          #contents .shop.honten .text dl dd {
            font-size: 3.9743589744vw;
            line-height: 1.50967741935;
            padding: 0 0 0 2.5641025641vw; }
          #contents .shop.honten .text dl dt ~ dt,
          #contents .shop.honten .text dl dd ~ dd {
            margin-top: 5.641025641vw; }
    #contents .shoplist header {
      display: block; }
      #contents .shoplist header small {
        font-size: 3.2051282051vw;
        line-height: 5.1282051282vw;
        text-align: left;
        padding: 1.2820512821vw 0 1.2820512821vw; }
    #contents .shoplist table col:nth-child(1) {
      width: 19.2307692308vw; }
    #contents .shoplist table col:nth-child(2) {
      width: 28.2051282051vw; }
    #contents .shoplist table col:nth-child(3) {
      width: auto; }
    #contents .shoplist table th, #contents .shoplist table td {
      font-size: 3.0769230769vw;
      line-height: 1.5;
      padding: 3.5897435897vw 2.5641025641vw 1.7948717949vw;
      text-align: center; }
    #contents .shoplist table th small {
      font-size: 2.3076923077vw; }
    #contents .shoplist table td br {
      display: inline-block; }
    #contents .shoplist table p {
      font-size: 3.0769230769vw;
      line-height: 1.5;
      margin: 0;
      text-align: left; }
      #contents .shoplist table p span {
        display: block;
        margin-bottom: 0.8974358974vw; }
      #contents .shoplist table p b {
        line-height: 4.358974359vw;
        font-size: 3.0769230769vw;
        width: 23.0769230769vw;
        margin-right: 0; }
    #contents .shoplist table p + p {
      margin-top: 1.9230769231vw; }
    #contents .shoplist + .shoplist {
      margin-top: 10.8974358974vw; }
      #contents .shoplist + .shoplist table th {
        text-align: center; }
      #contents .shoplist + .shoplist table td {
        text-align: left; }
      #contents .shoplist + .shoplist table col:nth-child(1) {
        width: 19.2307692308vw; }
      #contents .shoplist + .shoplist table col:nth-child(2) {
        width: auto; }
      #contents .shoplist + .shoplist table p {
        display: flex;
        margin-top: 2.0512820513vw; }
        #contents .shoplist + .shoplist table p span {
          margin-right: 2.5641025641vw; }
    #contents hr {
      clear: both;
      background: #c79f60;
      border: none;
      padding: 0;
      margin: 0;
      height: 1px; }
    #contents hr {
      margin: 12.8205128205vw 0; }
    #contents section + section {
      margin-top: 19.2307692308vw; }
    #contents section + hr {
      margin: 10.8974358974vw 0 17.1794871795vw; }
    #contents section:last-of-type + hr {
      margin: 10.8974358974vw 0 0vw; }
    #contents .default + p {
      margin-top: 2.5641025641vw; }
    #contents p + hr {
      margin-top: 11.2820512821vw; }
    #contents p + p {
      margin-top: 7.3076923077vw; }
    #contents p + ul,
    #contents p + ol {
      margin-top: 7.3076923077vw; }
    #contents p.note + p {
      margin-top: 2.3076923077vw; }
    #contents p + .border,
    #contents ul + .border,
    #contents ol + .border {
      margin-top: 13.7179487179vw; }
    #contents h2.border + *,
    #contents h3.border + * {
      margin-top: 5.1282051282vw; }
    #contents h2.border + table.default {
      margin-top: 4.6153846154vw; }
    #contents h2.border + table.default caption {
      margin-top: 4.2307692308vw; }
    #contents h2.border + p,
    #contents h3.border + p {
      margin-top: 4.1025641026vw; }
    #contents h2.border.center + *,
    #contents h3.border.center + * {
      margin-top: 12.8205128205vw; }
    #contents table.default + table.default {
      margin-top: 8.7179487179vw; }
    #contents table.default + h2.border {
      margin-top: 12.1794871795vw; }

  .siteheader {
    min-width: inherit;
    z-index: 1000; }

/*
  .gnav {
    position: absolute;
    left: 0;
    top: 0;
    margin-left: 0;
    z-index: 100;
    background: #fff;
    width: 100%;
    height: 100vh; }
    .gnav::after {
      display: none; }
    .gnav .scroll {
      overflow: hidden;
      overflow-y: auto;
      padding: 17.3076923077vw 0;
      height: 100%; }
    .gnav ul {
      display: block; }
    .gnav li ~ li::before {
      display: none; }
    .gnav a {
      height: 20.5128205128vw;
      width: 100vw !important;
      display: block; }
    .gnav a::before {
      background: url("../images/nav@sp.png") left top no-repeat;
      background-size: 100vw 110vw;
      height: 100% !important;
      width: 100% !important;
      top: 0;
      background-position: 0 6.5128205128vw; }
    .gnav a::after {
      background: url("../images/nav_on@sp.png") left top no-repeat;
      background-size: 100vw 110vw;
      height: 100% !important;
      width: 100% !important;
      z-index: 10;
      top: 0;
      background-position: 0 6.5128205128vw; }
    .gnav .news a::after,
    .gnav .news a::before {
      background-position: 0 -14.512821vw; }
    .gnav .history a::after,
    .gnav .history a::before {
      background-position: 0 -34.512821vw; }
    .gnav .products a::after,
    .gnav .products a::before {
      background-position: 0 -54.025641vw; }
    .gnav .shoplist a::after,
    .gnav .shoplist a::before {
      background-position: 0 -76.051282vw; }
    .gnav .brand a::after,
    .gnav .brand a::before {
      background-position: 0 -96.564103vw; }
    .gnav .close {
      width: 10.2564102564vw;
      height: 10.2564102564vw;
      display: block;
      position: absolute;
      right: 3.7179487179vw;
      top: 3.7179487179vw;
      z-index: 100;
      background: url("../images/btn_close.png") no-repeat center center/cover;
      cursor: pointer; }
*/
  .gnav { position: absolute; left: 0; top: 0; margin-left: 0; z-index: 100; background: #fff; width: 100%; height: 100vh; }
  .gnav::after { display: none; }
  .gnav .scroll { overflow: hidden; overflow-y: auto; padding: 17.307692307700002vw 0; height: 100%; }
  .gnav ul { display: block; }
  .gnav li ~ li::before { display: none; }
  .gnav a { height: 20.5128205128vw; width: 100vw !important; display: block; }
  .gnav a::before { background: url("../images/nav@sp.png") left top no-repeat; background-size: 100vw 110vw; height: 100% !important; width: 100% !important; top: 7.4358974359vw; }
  .gnav a::after { background: url("../images/nav_on@sp.png") left top no-repeat; background-size: 100vw 110vw; height: 100% !important; width: 100% !important; z-index: 10; top: 7.4358974359vw; }
  .gnav .news a::after, .gnav .news a::before { background-position: 0 -20.5128205128vw; }
  .gnav .history a::after, .gnav .history a::before { background-position: 0 -41.0256410256vw; }
  .gnav .products a::after, .gnav .products a::before { background-position: 0 -61.5384615385vw; }
  .gnav .shoplist a::after, .gnav .shoplist a::before { background-position: 0 -82.0512820513vw; }
  .gnav .brand a::after, .gnav .brand a::before { background-position: 0 -102.5641025641vw; }
  .gnav .close { width: 10.2564102564vw; height: 10.2564102564vw; display: block; position: absolute; right: 3.7179487179vw; top: 3.7179487179vw; z-index: 100; background: url("../images/btn_close.png") no-repeat center center/cover; cursor: pointer; }
  .menuopen { overflow: hidden; }
  
  .menuopen {
    overflow: hidden; }

  .gnav {
    left: -101%;
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scale(1.05); }

  .menuopen .gnav {
    left: 0;
    opacity: 1;
    transform: scale(1); }

  .menuanim .gnav {
    left: 0;
    opacity: 0; }

  .control {
    min-width: inherit; }
    .control .sns {
      padding: 0;
      display: flex;
      flex-direction: column-reverse;
      margin: 2.8205128205vw 0 0 2.9487179487vw; }
    .control .sns a {
      width: 7vw;
      height: 7vw;
      margin: 0 0 1.1538461538vw; }
    .control .sns a::before,
    .control .sns a::after {
      background-size: 7vw 7vw; }
    .control .lang {
      font-size: 3.0769230769vw;
      right: 17.4358974359vw;
      top: 3.7179487179vw; }
      .control .lang li {
        padding: 0 1.9230769231vw; }
    .control .onlinestore {
      top: 25.1282051282vw; }
      .control .onlinestore p a {
        width: 8.9743589744vw;
        height: 45.5128205128vw;
        background-size: 100% auto; }
      .control .onlinestore p a:hover {
        opacity: 1; }
    .control .onlinestore::after {
      content: '';
      width: 12.0512820513vw;
      height: 130%;
      background: red;
      position: absolute;
      right: 0;
      top: -6.6666666667vw;
      z-index: -1;
      opacity: 0; }
    .control .onlinestore .store {
      position: absolute;
      right: 0vw;
      top: -6.6666666667vw;
      background: url("../images/bg_store.png") no-repeat left top/100% 100%;
      width: 44.1025641026vw;
      height: 55.7692307692vw;
      padding-right: 8.9743589744vw;
      justify-content: flex-end;
      opacity: 0;
      z-index: -9999px;
      right: -1000px;
      transition: opacity 0.6s; }
      .control .onlinestore .store a {
        display: inline-block;
        padding: 1.2820512821vw 0;
        border-top: 1px solid #d8ceca; }
      .control .onlinestore .store a:last-child {
        border-bottom: 1px solid #d8ceca; }
      .control .onlinestore .store a img {
        width: 29.4871794872vw;
        height: auto; }
      .control .onlinestore .store a:hover img {
        transform: scale(1); }
    .control .onlinestore.show .store {
      opacity: 1;
      z-index: 100;
      right: 11.5384615385vw; }
    .control .onlinestore.show.end .store {
      opacity: 0;
      z-index: 100;
      right: 11.5384615385vw;
      transition: opacity 0.3s; }
    .control .menu {
      width: 10.2564102564vw;
      height: 10.2564102564vw;
      position: absolute;
      right: 0;
      top: 0;
      z-index: 200;
      background: url("../images/menu.png") left top no-repeat;
      background-size: cover;
      cursor: pointer; }

  .pagetop {
    text-align: center;
    padding: 0 0 9.4871794872vw;
    position: relative;
    z-index: 100; }
    .pagetop a {
      height: 8.4615384615vw;
      width: 100%;
      background: url("../images/pagetop.png") center center no-repeat;
      background-size: auto 8.4615384615vw; }

  .sitefooter {
    min-width: inherit; }
    .sitefooter ul {
      display: flex;
      justify-content: center;
      padding: 7.4358974359vw 0 0;
      flex-wrap: wrap;
      width: 76.9230769231vw;
      justify-content: center;
      margin: 0 auto 1.5384615385vw; }
      .sitefooter ul li {
        padding: 0 2.5641025641vw 0;
        position: relative;
        margin-bottom: 2.5641025641vw; }
        .sitefooter ul li a {
          font-size: 3.2051282051vw; }
      .sitefooter ul li:nth-child(n + 4) {
        margin-top: 1.2820512821vw; }
      .sitefooter ul li:nth-child(4)::before {
        display: none; }
    .sitefooter .copyrights {
      font-size: 3.0769230769vw;
      padding-bottom: 3.8461538462vw;
      line-height: 1.75; }

		.sitefooter .kirarilogo {
  text-align: center;
	padding-bottom: 10px;
		    position:inherit;
    left: inherit;
    margin-left:inherit;
    bottom: inherit;
}
	
  #bg {
    min-width: inherit;
    z-index: 0; }
    #bg::before {
      width: 100vw;
      background: url("../images/bg_top.jpg") left top repeat-y;
      left: 0;
      top: 0;
      height: 51.2820512821vw;
      margin-left: 0;
      background-size: 100% auto; }
    #bg::after {
      width: 100vw;
      background: url("../images/bg_bottom.jpg") left top repeat-y;
      right: 0;
      top: inherit;
      bottom: 0;
      height: 38.4615384615vw;
      margin-right: 0;
      background-size: 100% auto; } }
/* 
	loader
*********************/
#loader {
  background: white;
  width: 100vw;
  height: 100vh;
  z-index: 100000;
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center; }

#loader .loader {
  background: url("../images/loading.png") center center no-repeat;
  width: 200px;
  height: 200px;
  background-size: 100px 100px; }

#loader .loader span {
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  background-size: 100px 100px;
  position: absolute;
  left: 0;
  top: 0;
  display: block; }

#loader .loader span:nth-child(1) {
  background-image: url("../images/loading1.png");
  animation: loaderdrop1 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; }

#loader .loader span:nth-child(2) {
  background-image: url("../images/loading2.png");
  animation: loaderdrop2 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; }

#loader .loader span:nth-child(3) {
  background-image: url("../images/loading3.png");
  animation: loaderdrop3 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; }

#loader .loader span:nth-child(4) {
  background-image: url("../images/loading4.png");
  animation: loaderdrop4 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; }

#loader .loader span:nth-child(5) {
  background-image: url("../images/loading5.png");
  animation: loaderdrop5 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; }

#loader .loader span:nth-child(6) {
  background-image: url("../images/loading6.png");
  animation: loaderdrop6 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) infinite; }

@keyframes loaderdrop1 {
  0% {
    opacity: 0; }
  16.6666666667% {
    opacity: 1; }
  33.3333333333% {
    opacity: 0; }
  50% {
    opacity: 0; }
  66.6666666667% {
    opacity: 0; }
  83.3333333333% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes loaderdrop2 {
  0% {
    opacity: 0; }
  16.6666666667% {
    opacity: 0; }
  33.3333333333% {
    opacity: 1; }
  50% {
    opacity: 0; }
  66.6666666667% {
    opacity: 0; }
  83.3333333333% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes loaderdrop3 {
  0% {
    opacity: 0; }
  16.6666666667% {
    opacity: 0; }
  33.3333333333% {
    opacity: 0; }
  50% {
    opacity: 1; }
  66.6666666667% {
    opacity: 0; }
  83.3333333333% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes loaderdrop4 {
  0% {
    opacity: 0; }
  16.6666666667% {
    opacity: 0; }
  33.3333333333% {
    opacity: 0; }
  50% {
    opacity: 0; }
  66.6666666667% {
    opacity: 1; }
  83.3333333333% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes loaderdrop5 {
  0% {
    opacity: 0; }
  16.6666666667% {
    opacity: 0; }
  33.3333333333% {
    opacity: 0; }
  50% {
    opacity: 0; }
  66.6666666667% {
    opacity: 0; }
  83.3333333333% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes loaderdrop6 {
  0% {
    opacity: 0; }
  16.6666666667% {
    opacity: 0; }
  33.3333333333% {
    opacity: 0; }
  50% {
    opacity: 0; }
  66.6666666667% {
    opacity: 0; }
  83.3333333333% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@media screen and (max-width: 780px) {
  #loader .loader {
    width: 25.641025641vw;
    height: 25.641025641vw;
    background-size: 19.2307692308vw 19.2307692308vw; }

  #loader .loader span {
    background-size: 19.2307692308vw 19.2307692308vw; } }
/*
	js styles
******************************/
#baseVW {
  width: 100vw;
  position: fixed;
  left: -9999px;
  opacity: 0; }

#imageloaded {
  position: fixed;
  left: -9999px;
  height: 1px;
  width: 1px;
  overflow: hidden; }

/*
  anchor
*****************************/
.anchorpoint {
  border: 2px solid red;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 1px;
  height: 10px;
  z-index: 100;
  opacity: 0; }

/* centerfix animation */
.centerfix {
  font-size: 10px; }
  .centerfix .inner {
    transform: translate(0, 0px);
    transition: transform 3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .centerfix .inner .line.out::before {
      width: 0;
      height: 0;
      opacity: 0; }
    .centerfix .inner .line.out::after {
      width: 0;
      height: 0;
      opacity: 0; }
    .centerfix .inner .line.in::before {
      width: 0;
      height: 0;
      opacity: 0; }
    .centerfix .inner .line.in::after {
      width: 0;
      height: 0;
      opacity: 0; }
  .centerfix h2 {
    opacity: 0;
    transform: translate(0, 1.5em); }
  .centerfix span {
    opacity: 0;
    transform: translate(0, 1.5em); }

.centerfix .inner.animated {
  transform: translate(0, 0); }
  .centerfix .inner.animated .line.out::before {
    animation: linebefore 0.7s 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; }
  .centerfix .inner.animated .line.out::after {
    animation: lineafter 0.7s 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; }
  .centerfix .inner.animated .line.in::before {
    animation: linebeforein 0.65s 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; }
  .centerfix .inner.animated .line.in::after {
    animation: lineafterin 0.65s 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; }
  .centerfix .inner.animated h2 {
    opacity: 1;
    transform: translate(0, 0);
    transition: 1s 0.85s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .centerfix .inner.animated span {
    opacity: 1;
    transform: translate(0, 0);
    transition: 1s 1.05s cubic-bezier(0.215, 0.61, 0.355, 1); }

@media screen and (max-width: 780px) {
  .centerfix .inner.animated .line.out::before {
    animation: linebeforesp 0.7s 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; }
  .centerfix .inner.animated .line.out::after {
    animation: lineaftersp 0.7s 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; }
  .centerfix .inner.animated .line.in::before {
    animation: linebeforesp 0.65s 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; }
  .centerfix .inner.animated .line.in::after {
    animation: lineaftersp 0.65s 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
    opacity: 1; } }
@keyframes linebefore {
  0% {
    width: 0;
    height: 0; }
  50% {
    width: 878px;
    height: 0; }
  100% {
    height: 277px;
    width: 878px; } }
@keyframes lineafter {
  0% {
    width: 0;
    height: 0; }
  50% {
    width: 878px;
    height: 0; }
  100% {
    height: 277px;
    width: 878px; } }
@keyframes linebeforein {
  0% {
    width: 0;
    height: 0; }
  50% {
    width: 870px;
    height: 0; }
  100% {
    height: 269px;
    width: 870px; } }
@keyframes lineafterin {
  0% {
    width: 0;
    height: 0; }
  50% {
    width: 870px;
    height: 0; }
  100% {
    height: 269px;
    width: 870px; } }
@keyframes linebeforesp {
  0% {
    width: 0;
    height: 0; }
  50% {
    width: 100%;
    height: 0; }
  100% {
    height: 100%;
    width: 100%; } }
@keyframes lineaftersp {
  0% {
    width: 0;
    height: 0; }
  50% {
    width: 100%;
    height: 0; }
  100% {
    height: 100%;
    width: 100%; } }
/*	modal */
#modalMask {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  z-index: 1000000;
  display: none; }

#modalContent {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1000010;
  display: none;
  cursor: pointer; }

#modalContent div.mc {
  width: 1024px;
  height: 576px;
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: 0px;
  margin-top: 0;
  z-index: 10;
  padding: 100px 0;
  transition: 0.8s ease;
  -webkit-transform: scale(0, 0);
  -moz-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  transform: scale(0, 0); }

#modalContent.view div.mc {
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1); }

#modalContent div.mc iframe {
  width: 1024px;
  height: 576px;
  position: relative;
  z-index: 0; }

#modalContent .close {
  position: absolute;
  right: -7px;
  top: 39px;
  opacity: 0;
  transition: 0.3s;
  z-index: 20; }

#modalContent.view .close {
  opacity: 1; }

#modalContent .close a {
  display: block;
  width: 58px;
  height: 58px;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  background: url(../images/btn_close.png) center center no-repeat;
  position: relative;
  transition: 0.5s;
  background-size: 37px auto; }

#modalContent .close a:hover {
  opacity: 0.5; }

@media screen and (max-width: 1024px) {
  #modalContent div.mc {
    padding: 9.2857142857vw 0;
    width: 100vw; }

  #modalContent .close {
    top: 0vw;
    right: -1.4285714286vw; }

  #modalContent .close a {
    display: block;
    width: 9.2857142857vw;
    height: 9.2857142857vw;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    background: url("../images/btn_close.png") center center no-repeat;
    position: relative;
    transition: 0.5s;
    background-size: 7.1428571429vw auto; } }
#modalContent.absolute {
  position: absolute !important; }

#modalContent.absolute div.mc {
  position: absolute !important;
  top: 0 !important;
  margin-top: 0 !important; }

/* 404 */
[data-gn='404'] #contents {
  text-align: center;
  padding: 140px 0 100px; }

[data-gn='404'] #contents h1 {
  font-size: 30px;
  line-height: 1.7;
  margin-bottom: 50px; }

[data-gn='404'] #contents p {
  font-size: 20px; }

@media screen and (max-width: 780px) {
  [data-gn='404'] #contents {
    text-align: center;
    padding: 17.0512820513vw 0 25.641025641vw; }

  [data-gn='404'] #contents h1 {
    font-size: 7.0512820513vw;
    line-height: 1;
    margin-bottom: 19.2307692308vw; }

  [data-gn='404'] #contents h1 small {
    font-size: 3.8461538462vw; }

  [data-gn='404'] #contents p {
    font-size: 3.8461538462vw;
    padding: 0 5.1282051282vw; } }
