@charset "UTF-8";
/* RESET
--------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, rem, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

table {
  border-spacing: 0;
}

address {
  display: inline;
  font-style: normal;
}

/* 版型設定 */
.mobile {
  display: none;
}

.pad {
  display: none;
}

/* 共用設定 */
img {
  width: 100%;
  height: auto;
  display: block;
  font-size: 0.24rem;
  color: #000000;
}

/*iframe{ width: 100%; height: 100%; position: absolute; top: 0; left: 0;}*/
a {
  display: block;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

a:hover, a:active, a:focus {
  color: inherit;
}

@media screen and (max-width: 768px) {
  a:hover {
    color: inherit;
  }
}
.clear:before, .clear:after {
  content: "";
  display: table;
}

.clear:after {
  clear: both;
}

.c {
  clear: both;
}

.wrapper .hide {
  display: none;
}

.absolute, .inner-absolute > * {
  position: absolute;
}

.absoluteTL, .inner-absoluteTL > * {
  position: absolute;
  top: 0;
  left: 0;
}

.absoluteTR, .inner-absoluteTR > * {
  position: absolute;
  top: 0;
  right: 0;
}

.absoluteBL, .inner-absoluteBL > * {
  position: absolute;
  bottom: 0;
  left: 0;
}

.absoluteBR, .inner-absoluteBR > * {
  position: absolute;
  bottom: 0;
  right: 0;
}

.relative, .inner-relative > * {
  position: relative;
}

.overHide {
  overflow: hidden;
}

/* flex */
.flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* table */
table, tbody {
  width: 100%;
}

th, td {
  vertical-align: middle;
}

.table {
  width: 100%;
  display: table;
}

.tr {
  display: table-row;
}

.th, .td {
  display: table-cell;
  vertical-align: middle;
  position: relative;
}

.table.pc {
  display: table;
}

.table.pad {
  display: none;
}

.table.mobile {
  display: none;
}

/* -- pc & mobile -- */
/* inline-block */
.inner-inblock {
  font-size: 0;
}

.inner-inblock > * {
  display: inline-block;
  vertical-align: middle;
}

.inner-inblock .block {
  display: block;
}

.block {
  display: block;
}

.inblock {
  display: inline-block;
}

.inline {
  display: inline;
}

/* pc */
.pc-none {
  display: none;
}

/* float設定 */
.float-l {
  float: left;
}

.float-r {
  float: right;
}

/* 漸變設定 */
.transition, .transition:before, .transition > *, .transition > * > a, .transition :before {
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

/* 字型樣式及置中設定 */
.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal;
}

.margin, .inner-margin > * {
  margin-left: auto;
  margin-right: auto;
}

.alignC, .inner-alignC > * {
  text-align: center;
}

.alignR, .inner-alignR > * {
  text-align: right;
}

.alignL, .inner-alignL > * {
  text-align: left;
}

.alignB, .inner-alignB > * {
  vertical-align: bottom;
}

.alignM, .inner-alignM > * {
  vertical-align: middle;
}

.alignT, .inner-alignT > * {
  vertical-align: top;
}

/* loading */
.loading {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.99);
  z-index: 99;
}

.loading .box {
  margin: 5rem auto;
  font-size: 0.3em;
  color: #c5a86f;
  position: relative;
  -webkit-animation: opac 2s infinite linear;
  animation: opac 2s infinite linear;
}

.loading span {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.8rem auto auto -0.8rem;
  border: 2px solid;
  border-color: #c5a86f transparent #c5a86f transparent;
  border-radius: 5rem;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-webkit-keyframes opac {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes opac {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
/* @media 
------------------------------------------------------------------------------------------------*/
/*---------------- pad ----------------*/
@media screen and (max-width: 768px) {
  /* 字型樣式及置中設定 */
  .m-margin {
    margin-left: auto;
    margin-right: auto;
  }
  .m-alignC {
    text-align: center;
  }
  .m-alignR {
    text-align: right;
  }
  .m-alignL {
    text-align: left;
  }
  .m-alignT {
    vertical-align: top;
  }
  .m-alignM {
    vertical-align: middle;
  }
  .m-alignB {
    vertical-align: bottom;
  }
  .m-bold {
    font-weight: bold;
  }
  .m-normal {
    font-weight: normal;
  }
  /* float設定 */
  .m-float-l {
    float: left;
  }
  .m-float-r {
    float: right;
  }
  /* 定位 */
  .m-absolute, .m-inner-absolute > * {
    position: absolute;
  }
  .m-absoluteTL, .m-inner-absoluteTL > * {
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
  }
  .m-absoluteTR, .m-inner-absoluteTR > * {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
  }
  .m-absoluteBL, .m-inner-absoluteBL > * {
    position: absolute;
    bottom: 0;
    left: 0;
    right: auto;
  }
  .m-absoluteBR, .m-inner-absoluteBR > * {
    position: absolute;
    bottom: 0;
    right: 0;
    left: auto;
  }
  .m-relative, .m-inner-relative > * {
    position: relative;
  }
  /* m-tableBlock */
  .m-tableBlock, .m-tableBlock .tr, .m-tableBlock .td, .m-tableBlock .th {
    display: block;
  }
  /* m-inblock */
  .m-inner-inblock {
    font-size: 0;
    display: block;
  }
  .m-inner-inblock > * {
    display: inline-block;
    vertical-align: middle;
  }
  .m-inner-inblock .block {
    display: block;
  }
  .m-inblock {
    display: inline-block;
  }
  .m-block {
    display: block;
  }
  .m-inline {
    display: inline;
  }
  .m-none {
    display: none;
  }
}
/*---------------- mobile ----------------*/
@media screen and (max-width: 640px) {
  /* 字型樣式及置中設定 */
  .s-margin {
    margin-left: auto;
    margin-right: auto;
  }
  .s-alignC {
    text-align: center;
  }
  .s-alignR {
    text-align: right;
  }
  .s-alignL {
    text-align: left;
  }
  .s-alignT {
    vertical-align: top;
  }
  .s-alignM {
    vertical-align: middle;
  }
  .s-alignB {
    vertical-align: bottom;
  }
  /* float設定 */
  .s-float-l {
    float: left;
  }
  .s-float-r {
    float: right;
  }
  /* 定位 */
  .s-absolute, .s-inner-absolute > * {
    position: absolute;
  }
  .s-absoluteTL, .s-inner-absoluteTL > * {
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
  }
  .s-absoluteTR, .s-inner-absoluteTR > * {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
  }
  .s-absoluteBL, .s-inner-absoluteBL > * {
    position: absolute;
    bottom: 0;
    left: 0;
    right: auto;
  }
  .s-absoluteBR, .s-inner-absoluteBR > * {
    position: absolute;
    bottom: 0;
    right: 0;
    left: auto;
  }
  .s-relative, .s-inner-relative > * {
    position: relative;
  }
  /* s-tableBlock */
  .s-tableBlock, .s-tableBlock .tr, .s-tableBlock .td, .s-tableBlock .th {
    display: block;
  }
  /* m-inblock */
  .s-inner-inblock {
    font-size: 0;
    display: block;
  }
  .s-inner-inblock > * {
    display: inline-block;
    vertical-align: middle;
  }
  .s-inner-inblock .block {
    display: block;
  }
  .s-inblock {
    display: inline-block;
  }
  .s-block {
    display: block;
  }
  .s-inline {
    display: inline;
  }
  .s-none {
    display: none;
  }
}