@charset "UTF-8";
/*color*/
/*font*/
/*==================================================
* Reset
==================================================*/
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%; }

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

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  background-repeat: no-repeat;
  padding: 0;
  margin: 0; }

audio:not([controls]) {
  display: none;
  height: 0; }

hr {
  overflow: visible; }

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

summary {
  display: list-item; }

[hidden], template {
  display: none; }

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none; }

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }

a:active, a:hover {
  outline-width: 0; }

code, kbd, pre, samp {
  font-family: monospace,monospace; }

b, strong {
  font-weight: bolder; }

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

input {
  border-radius: 0; }

button, [type="button"], [type="reset"], [type="submit"], [role="button"] {
  cursor: pointer; }

textarea {
  overflow: auto;
  resize: vertical; }

button, input, optgroup, select, textarea {
  font: inherit; }

button {
  overflow: visible; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText; }

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

button, select {
  text-transform: none; }

button, input, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit; }

/*select{-moz-appearance:none;-webkit-appearance:none}*/
select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

img {
  border-style: none; }

progress {
  vertical-align: baseline; }

svg:not(:root) {
  overflow: hidden; }

audio, canvas, progress, video {
  display: inline-block; }

@media screen {
  [hidden~="screen"] {
    display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important; } }

[aria-busy="true"] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled] {
  cursor: default; }

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none; }

/*==================================================
* Basic
==================================================*/
html {
  font-size: 62.5%;
  font-size: 10px; }

body {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: #2c2c2c;
  font-size: 1.6rem;
  line-height: 1.625;
  -webkit-text-size-adjust: 100%; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 1.4rem; } }

*, h1, h2, h3, h4, h5, p {
  padding: 0;
  margin: 0;
  font-size: inherit; }

h1, h2, h3, h4 {
  line-height: 1.25;
  font-weight: normal;
  letter-spacing: .05rem; }

ul, li {
  list-style: none; }

a {
  color: inherit;
  text-decoration: none;
  transition: all .1s;
  cursor: pointer; }

a:hover {
  opacity: .8; }

img {
  vertical-align: bottom;
  border: 0px;
  max-width: 100%;
  height: auto; }

input, textarea {
  background-color: #fff;
  border-style: none;
  color: inherit;
  border: 1px solid #ccc;
  width: 100%;
  max-width: 100%;
  padding: 8px; }

input[type="radio"] {
  border: none;
  width: inherit;
  max-width: 100%;
  padding: 0; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }

/*==================================================
* layouters
==================================================*/
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important; } }

@media screen and (min-width: 769px) {
  .sp-only {
    display: none !important; } }

.alignleft {
  float: left;
  margin-right: 3%;
  max-width: 50%; }

.alignright {
  float: right;
  margin-left: 3%;
  max-width: 50%; }

.aligncenter {
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.text-center {
  text-align: center !important; }

.text-left {
  text-align: left !important; }

.text-right {
  text-align: right !important; }

.text-pre {
  white-space: pre-wrap; }

.d-ib {
  display: inline-block !important;
  vertical-align: middle; }

.d-block {
  display: block !important; }

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-align: center;
      align-items: center; }
  .d-flex--wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .d-flex--between {
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .d-flex--ac-center {
    -ms-flex-line-pack: center;
        align-content: center; }
  .d-flex--ai-center {
    -ms-flex-align: center;
        align-items: center; }

.pos-r {
  position: relative; }

.lh-0 {
  line-height: 0 !important; }

.lh-1 {
  line-height: 1 !important; }

.lh-125 {
  line-height: 1.25 !important; }

.lh-15 {
  line-height: 1.5 !important; }

.lh-2 {
  line-height: 2 !important; }

.m-0 {
  margin: 0 !important; }

.mt-0,
.my-0 {
  margin-top: 0 !important; }

.mr-0,
.mx-0 {
  margin-right: 0 !important; }

.mb-0,
.my-0 {
  margin-bottom: 0 !important; }

.ml-0,
.mx-0 {
  margin-left: 0 !important; }

.m-05 {
  margin: 0.25rem !important; }

.mt-05,
.my-05 {
  margin-top: 0.25rem !important; }

.mr-05,
.mx-05 {
  margin-right: 0.25rem !important; }

.mb-05,
.my-05 {
  margin-bottom: 0.25rem !important; }

.ml-05,
.mx-05 {
  margin-left: 0.25rem !important; }

.m-1 {
  margin: 0.5rem !important; }

.mt-1,
.my-1 {
  margin-top: 0.5rem !important; }

.mr-1,
.mx-1 {
  margin-right: 0.5rem !important; }

.mb-1,
.my-1 {
  margin-bottom: 0.5rem !important; }

.ml-1,
.mx-1 {
  margin-left: 0.5rem !important; }

.m-2 {
  margin: 1rem !important; }

.mt-2,
.my-2 {
  margin-top: 1rem !important; }

.mr-2,
.mx-2 {
  margin-right: 1rem !important; }

.mb-2,
.my-2 {
  margin-bottom: 1rem !important; }

.ml-2,
.mx-2 {
  margin-left: 1rem !important; }

.m-3 {
  margin: 1.5rem !important; }

.mt-3,
.my-3 {
  margin-top: 1.5rem !important; }

.mr-3,
.mx-3 {
  margin-right: 1.5rem !important; }

.mb-3,
.my-3 {
  margin-bottom: 1.5rem !important; }

.ml-3,
.mx-3 {
  margin-left: 1.5rem !important; }

.m-4 {
  margin: 2rem !important; }

.mt-4,
.my-4 {
  margin-top: 2rem !important; }

.mr-4,
.mx-4 {
  margin-right: 2rem !important; }

.mb-4,
.my-4 {
  margin-bottom: 2rem !important; }

.ml-4,
.mx-4 {
  margin-left: 2rem !important; }

.m-5 {
  margin: 2.5rem !important; }

.mt-5,
.my-5 {
  margin-top: 2.5rem !important; }

.mr-5,
.mx-5 {
  margin-right: 2.5rem !important; }

.mb-5,
.my-5 {
  margin-bottom: 2.5rem !important; }

.ml-5,
.mx-5 {
  margin-left: 2.5rem !important; }

.m-6 {
  margin: 3rem !important; }

.mt-6,
.my-6 {
  margin-top: 3rem !important; }

.mr-6,
.mx-6 {
  margin-right: 3rem !important; }

.mb-6,
.my-6 {
  margin-bottom: 3rem !important; }

.ml-6,
.mx-6 {
  margin-left: 3rem !important; }

.m-7 {
  margin: 3.5rem !important; }

.mt-7,
.my-7 {
  margin-top: 3.5rem !important; }

.mr-7,
.mx-7 {
  margin-right: 3.5rem !important; }

.mb-7,
.my-7 {
  margin-bottom: 3.5rem !important; }

.ml-7,
.mx-7 {
  margin-left: 3.5rem !important; }

.m-8 {
  margin: 4rem !important; }

.mt-8,
.my-8 {
  margin-top: 4rem !important; }

.mr-8,
.mx-8 {
  margin-right: 4rem !important; }

.mb-8,
.my-8 {
  margin-bottom: 4rem !important; }

.ml-8,
.mx-8 {
  margin-left: 4rem !important; }

.m-9 {
  margin: 4.5rem !important; }

.mt-9,
.my-9 {
  margin-top: 4.5rem !important; }

.mr-9,
.mx-9 {
  margin-right: 4.5rem !important; }

.mb-9,
.my-9 {
  margin-bottom: 4.5rem !important; }

.ml-9,
.mx-9 {
  margin-left: 4.5rem !important; }

.m-10 {
  margin: 5rem !important; }

.mt-10,
.my-10 {
  margin-top: 5rem !important; }

.mr-10,
.mx-10 {
  margin-right: 5rem !important; }

.mb-10,
.my-10 {
  margin-bottom: 5rem !important; }

.ml-10,
.mx-10 {
  margin-left: 5rem !important; }

.m-11 {
  margin: 5.5rem !important; }

.mt-11,
.my-11 {
  margin-top: 5.5rem !important; }

.mr-11,
.mx-11 {
  margin-right: 5.5rem !important; }

.mb-11,
.my-11 {
  margin-bottom: 5.5rem !important; }

.ml-11,
.mx-11 {
  margin-left: 5.5rem !important; }

.m-12 {
  margin: 6rem !important; }

.mt-12,
.my-12 {
  margin-top: 6rem !important; }

.mr-12,
.mx-12 {
  margin-right: 6rem !important; }

.mb-12,
.my-12 {
  margin-bottom: 6rem !important; }

.ml-12,
.mx-12 {
  margin-left: 6rem !important; }

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

.pr-0,
.px-0 {
  padding-right: 0 !important; }

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

.pl-0,
.px-0 {
  padding-left: 0 !important; }

.p-05 {
  padding: 0.25rem !important; }

.pt-05,
.py-05 {
  padding-top: 0.25rem !important; }

.pr-05,
.px-05 {
  padding-right: 0.25rem !important; }

.pb-05,
.py-05 {
  padding-bottom: 0.25rem !important; }

.pl-05,
.px-05 {
  padding-left: 0.25rem !important; }

.p-1 {
  padding: 0.5rem !important; }

.pt-1,
.py-1 {
  padding-top: 0.5rem !important; }

.pr-1,
.px-1 {
  padding-right: 0.5rem !important; }

.pb-1,
.py-1 {
  padding-bottom: 0.5rem !important; }

.pl-1,
.px-1 {
  padding-left: 0.5rem !important; }

.p-2 {
  padding: 1rem !important; }

.pt-2,
.py-2 {
  padding-top: 1rem !important; }

.pr-2,
.px-2 {
  padding-right: 1rem !important; }

.pb-2,
.py-2 {
  padding-bottom: 1rem !important; }

.pl-2,
.px-2 {
  padding-left: 1rem !important; }

.p-3 {
  padding: 1.5rem !important; }

.pt-3,
.py-3 {
  padding-top: 1.5rem !important; }

.pr-3,
.px-3 {
  padding-right: 1.5rem !important; }

.pb-3,
.py-3 {
  padding-bottom: 1.5rem !important; }

.pl-3,
.px-3 {
  padding-left: 1.5rem !important; }

.p-4 {
  padding: 2rem !important; }

.pt-4,
.py-4 {
  padding-top: 2rem !important; }

.pr-4,
.px-4 {
  padding-right: 2rem !important; }

.pb-4,
.py-4 {
  padding-bottom: 2rem !important; }

.pl-4,
.px-4 {
  padding-left: 2rem !important; }

.p-5 {
  padding: 2.5rem !important; }

.pt-5,
.py-5 {
  padding-top: 2.5rem !important; }

.pr-5,
.px-5 {
  padding-right: 2.5rem !important; }

.pb-5,
.py-5 {
  padding-bottom: 2.5rem !important; }

.pl-5,
.px-5 {
  padding-left: 2.5rem !important; }

.p-6 {
  padding: 3rem !important; }

.pt-6,
.py-6 {
  padding-top: 3rem !important; }

.pr-6,
.px-6 {
  padding-right: 3rem !important; }

.pb-6,
.py-6 {
  padding-bottom: 3rem !important; }

.pl-6,
.px-6 {
  padding-left: 3rem !important; }

.p-7 {
  padding: 3.5rem !important; }

.pt-7,
.py-7 {
  padding-top: 3.5rem !important; }

.pr-7,
.px-7 {
  padding-right: 3.5rem !important; }

.pb-7,
.py-7 {
  padding-bottom: 3.5rem !important; }

.pl-7,
.px-7 {
  padding-left: 3.5rem !important; }

.p-8 {
  padding: 4rem !important; }

.pt-8,
.py-8 {
  padding-top: 4rem !important; }

.pr-8,
.px-8 {
  padding-right: 4rem !important; }

.pb-8,
.py-8 {
  padding-bottom: 4rem !important; }

.pl-8,
.px-8 {
  padding-left: 4rem !important; }

.p-9 {
  padding: 4.5rem !important; }

.pt-9,
.py-9 {
  padding-top: 4.5rem !important; }

.pr-9,
.px-9 {
  padding-right: 4.5rem !important; }

.pb-9,
.py-9 {
  padding-bottom: 4.5rem !important; }

.pl-9,
.px-9 {
  padding-left: 4.5rem !important; }

.p-10 {
  padding: 5rem !important; }

.pt-10,
.py-10 {
  padding-top: 5rem !important; }

.pr-10,
.px-10 {
  padding-right: 5rem !important; }

.pb-10,
.py-10 {
  padding-bottom: 5rem !important; }

.pl-10,
.px-10 {
  padding-left: 5rem !important; }

.p-11 {
  padding: 5.5rem !important; }

.pt-11,
.py-11 {
  padding-top: 5.5rem !important; }

.pr-11,
.px-11 {
  padding-right: 5.5rem !important; }

.pb-11,
.py-11 {
  padding-bottom: 5.5rem !important; }

.pl-11,
.px-11 {
  padding-left: 5.5rem !important; }

.p-12 {
  padding: 6rem !important; }

.pt-12,
.py-12 {
  padding-top: 6rem !important; }

.pr-12,
.px-12 {
  padding-right: 6rem !important; }

.pb-12,
.py-12 {
  padding-bottom: 6rem !important; }

.pl-12,
.px-12 {
  padding-left: 6rem !important; }

.m-auto {
  margin: auto !important; }

.mt-auto,
.my-auto {
  margin-top: auto !important; }

.mr-auto,
.mx-auto {
  margin-right: auto !important; }

.mb-auto,
.my-auto {
  margin-bottom: auto !important; }

.ml-auto,
.mx-auto {
  margin-left: auto !important; }

.sepper {
  margin-left: -10px;
  margin-right: -10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: start;
      align-items: flex-start; }
  .sepper .sepper__box--2 {
    width: calc( 100% / 2);
    margin-top: 20px;
    padding-left: 10px;
    padding-right: 10px; }
  .sepper .sepper__box--3 {
    width: calc( 100% / 3);
    margin-top: 20px;
    padding-left: 10px;
    padding-right: 10px; }
  .sepper .sepper__box--4 {
    width: calc( 100% / 4);
    margin-top: 20px;
    padding-left: 10px;
    padding-right: 10px; }
  .sepper--reverse {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  @media screen and (min-width: 769px) {
    .sepper .sepper__box--2:nth-child(-n+2) {
      margin-top: 0; }
    .sepper .sepper__box--3:nth-child(-n+3) {
      margin-top: 0; }
    .sepper .sepper__box--4:nth-child(-n+4) {
      margin-top: 0; } }
  @media screen and (max-width: 768px) {
    .sepper .sepper__box--2,
    .sepper .sepper__box--3,
    .sepper .sepper__box--4 {
      margin-top: 3.2vw; }
    .sepper .sepper__box--2,
    .sepper .sepper__box--3 {
      width: calc( 100% / 2); }
      .sepper .sepper__box--2:nth-child(-n+2),
      .sepper .sepper__box--3:nth-child(-n+2) {
        margin-top: 0; }
    .sepper .sepper__box--4 {
      width: calc( 100% / 3); }
      .sepper .sepper__box--4:nth-child(-n+3) {
        margin-top: 0; } }
  @media screen and (max-width: 640px) {
    .sepper .sepper__box--2 {
      width: 100%; }
      .sepper .sepper__box--2:first-child {
        margin-top: 0; } }

/*==================================================
* various
==================================================*/
p {
  margin-bottom: 16px; }
  p:last-child {
    margin-bottom: 0; }

strong {
  font-weight: bold;
  font-size: 100%; }

.font-mincho {
  font-family: "Times New Roman", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif; }

.font-goth {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; }

.font-xxl {
  font-size: 5.2rem; }

.font-xl {
  font-size: 3.2rem; }

.font-lg {
  font-size: 2rem; }

.font-md {
  font-size: 1.4rem; }

.font-sm {
  font-size: 1.4rem; }

.font-xs {
  font-size: 1.2rem; }

@media screen and (max-width: 768px) {
  .font-xxl {
    font-size: 4rem; }
  .font-xl {
    font-size: 2.4rem; }
  .font-lg {
    font-size: 1.8rem; }
  .font-sm {
    font-size: 1.2rem; } }

@media screen and (max-width: 480px) {
  .font-md {
    font-size: 4vw; } }

.font-normal {
  font-weight: normal !important; }

.font-bold {
  font-weight: bold !important; }

.text-shadow {
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.5); }

.bg-w {
  background: #fff !important; }

.bg-bk {
  background: #000 !important; }

.bg-beige {
  background: #EAE3D8 !important; }

.color-danger {
  color: #FF4500 !important; }

.box-shadow {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.25); }

.border {
  border: 1px solid #ddd; }

.bb-1 {
  border-bottom: 1px solid #ccc; }

.bt-1 {
  border-top: 1px solid #ccc; }

.b-n {
  border: none !important; }

/*==================================================
* basic module
==================================================*/
.wrapper {
  position: relative;
  overflow: hidden; }
  .wrapper#sim {
    overflow: unset; }

.main {
  min-height: calc(100vh - 86px);
  padding-top: 50px;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .main {
      padding-top: 44px; } }

.inner {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px; }
  @media screen and (max-width: 768px) {
    .inner {
      padding-left: 4%;
      padding-right: 4%; } }
  @media screen and (max-width: 640px) {
    .inner {
      padding-left: 2.13vw;
      padding-right: 2.13vw; } }
  .inner--lg {
    max-width: 1200px; }
  .inner--sm {
    max-width: 830px; }
  @media screen and (max-width: 768px) {
    .inner--fit {
      padding-left: 0;
      padding-right: 0; } }

/*==================================================
* header
==================================================*/
.header {
  z-index: 5;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
  background: #2C2C2C url(/images/header_bg.jpg) no-repeat center/contain;
  border-bottom: 3px solid #BFAA72; }
  .header .inner {
    position: relative; }
  .header__inner {
    position: relative;
    height: 52px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .header__logo {
    width: 80px;
    text-align: center; }
    .header__logo img {
      width: 48px;
      vertical-align: middle; }
  @media screen and (max-width: 768px) {
    .header__inner {
      height: 44px; }
    .header__logo {
      width: 10vw; }
      .header__logo img {
        width: 10vw; } }

.header-ttl {
  height: calc(100% - 16px);
  padding-left: 12px;
  border-left: 2px dashed #C1AE98;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .header-ttl > * {
    width: 100%; }
  .header-ttl__main {
    font-size: 1.6rem; }
  .header-ttl__sub {
    font-size: 1.2rem; }
  @media screen and (max-width: 768px) {
    .header-ttl {
      display: none; } }

.header-cart {
  position: absolute;
  right: 0;
  top: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 24px 20px 16px;
  height: 64px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.25;
  background: #FF4500;
  border-radius: 0 0 6px 6px; }
  .header-cart:hover {
    opacity: 1;
    background: #FF655F; }
  .header-cart__price {
    padding: 8px 12px 8px 0;
    margin-right: 12px;
    border-right: 1px solid #fff; }
    .header-cart__price--total {
      margin-right: 12px; }
    .header-cart__price--num {
      font-size: 120%; }
    .header-cart__price--tax {
      font-size: 1.2rem; }
  .header-cart__txt {
    position: relative;
    padding-left: 42px; }
    .header-cart__txt:before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      display: block;
      width: 32px;
      height: 28px;
      background: url(/images/icon_cart.png) no-repeat center/contain;
      transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .header-cart {
      height: 52px; } }
  @media screen and (max-width: 640px) {
    .header-cart {
      padding: 3.2vw 4vw; }
      .header-cart__price {
        padding-right: 3.2vw;
        margin-right: 4vw; }
        .header-cart__price--total {
          margin-right: 2.4vw; }
        .header-cart__price--num {
          font-size: 120%; }
        .header-cart__price--tax {
          font-size: 3.2vw; }
      .header-cart__txt {
        padding-left: 0; }
        .header-cart__txt:before {
          content: none; } }

/*==================================================
* Footer
==================================================*/
.footer {
  padding: 40px 0;
  background: #2c2c2c;
  font-size: 1.4rem;
  color: #fff;
  text-align: center; }
  .footer__inner {
    position: relative; }
  @media screen and (max-width: 640px) {
    .footer {
      padding: 8vw 0; } }
  @media screen and (min-width: 1201px) {
    .footer {
      padding: 32px 0; }
      .footer__inner {
        max-width: none; } }

.footer-links__item {
  position: relative;
  display: inline-block; }
  .footer-links__item:after {
    content: "|";
    padding: 0 12px; }
  .footer-links__item:last-child:after {
    content: none; }

@media screen and (min-width: 769px) {
  .footer-links {
    padding: 0 150px; } }

@media screen and (min-width: 1201px) {
  .footer-links {
    position: absolute;
    padding: 0;
    text-align: left; } }

@media screen and (max-width: 640px) {
  .footer-links {
    font-size: 1.2rem;
    padding: 0 2vw; } }

.footer-sns {
  width: 140px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-left: auto;
  margin-right: auto; }
  .footer-sns__anc {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 10px; }
    .footer-sns__anc:before {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      display: block;
      width: 64%;
      height: 64%;
      transform: translate(-50%, -50%);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
    .footer-sns__anc--tw:before {
      background-image: url(/images/icon_tw.svg); }
    .footer-sns__anc--fb:before {
      background-image: url(/images/icon_fb.svg); }
    .footer-sns__anc--inst:before {
      background-image: url(/images/icon_inst.svg); }
  @media screen and (min-width: 769px) {
    .footer-sns {
      position: absolute;
      right: 30px;
      top: -5px; } }
  @media screen and (min-width: 1201px) {
    .footer-sns {
      top: -12px; } }
  @media screen and (max-width: 768px) {
    .footer-sns {
      margin: 30px auto; } }

.copyright {
  display: block; }
  @media screen and (min-width: 769px) {
    .copyright {
      margin-top: 100px; } }
  @media screen and (min-width: 1201px) {
    .copyright {
      margin-top: 0; } }

#page-top {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 50px;
  z-index: 5; }
  #page-top a {
    position: relative;
    display: block;
    transition: all .2s;
    opacity: 0;
    pointer-events: none;
    width: 64px;
    height: 64px;
    background: #000;
    border-radius: 50%; }
    #page-top a:before {
      content: "";
      position: absolute;
      left: 50%;
      top: 50%;
      display: block;
      width: 16px;
      height: 16px;
      border-left: 2px solid #fff;
      border-top: 2px solid #fff;
      transform: translate(-50%, -30%) rotate(45deg); }
    #page-top a.fix {
      opacity: 1;
      pointer-events: auto;
      cursor: pointer; }
      #page-top a.fix:hover {
        opacity: .8; }

path {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10; }

.result-label__item--1 {
  fill: #000;
  stroke: rgba(255, 255, 255, 0.2); }

.result-label__item--2 {
  fill: #ede690; }

.result-label__item--3 {
  fill: #c5b28a; }

.result-label--c .result-label__item--1 {
  fill: #000; }

.result-label--c .result-label__item--2 {
  fill: #ede690; }

.result-label--c .result-label__item--3 {
  fill: #c5b28a; }

.result-label--d .result-label__item--1 {
  fill: #000; }

.result-label--d .result-label__item--2 {
  fill: #ede690; }

.result-label--d .result-label__item--3 {
  fill: #bd7f2c; }

.result-label--e .result-label__item--1 {
  fill: #000; }

.result-label--e .result-label__item--2 {
  fill: #BA1522; }

.result-label--e .result-label__item--3 {
  fill: #c5b28a; }

.result-label--f .result-label__item--1 {
  fill: #BA1522; }

.result-label--f .result-label__item--2 {
  fill: #000; }

.result-label--f .result-label__item--3 {
  fill: #c5b28a; }

.result-label--g .result-label__item--1 {
  fill: #000; }

.result-label--g .result-label__item--2 {
  fill: #ede690; }

.result-label--g .result-label__item--3 {
  fill: #fff; }

.result-label--h .result-label__item--1 {
  fill: #054D95; }

.result-label--h .result-label__item--2 {
  fill: #BA1522; }

.result-label--h .result-label__item--3 {
  fill: #c5b28a; }

.result-label--i .result-label__item--1 {
  fill: #000; }

.result-label--i .result-label__item--2 {
  fill: #ede690; }

.result-label--i .result-label__item--3 {
  fill: #6BC5D1; }

.result-label--j .result-label__item--1 {
  fill: #000; }

.result-label--j .result-label__item--2 {
  fill: #fff; }

.result-label--j .result-label__item--3 {
  fill: #c5b28a; }

.result-label--k .result-label__item--1 {
  fill: #111; }

.result-label--k .result-label__item--2 {
  fill: #000;
  stroke: rgba(255, 255, 255, 0.075); }

.result-label--k .result-label__item--3 {
  fill: #000;
  stroke: rgba(255, 255, 255, 0.075); }

.result-label--l .result-label__item--1 {
  fill: #000; }

.result-label--l .result-label__item--2 {
  fill: #ffd995; }

.result-label--l .result-label__item--3 {
  fill: #d29730; }

.result-stitch {
  fill: none;
  stroke: #fff;
  stroke-width: 0.75;
  stroke-dasharray: 2,2; }
  .result-stitch--bk {
    stroke: #333; }
  .result-stitch--oran {
    stroke: #EA6000; }
  .result-stitch--yel {
    stroke: #ede690; }
  .result-stitch--cork {
    stroke: #8E5538; }
  .result-stitch--pink {
    stroke: #D85F9F; }
  .result-stitch--sblue {
    stroke: #6BC5D1; }
  .result-stitch--red {
    stroke: #BA1522; }
  .result-stitch--navy {
    stroke: #003455; }
  .result-stitch--blue {
    stroke: #054D95; }
  .result-stitch--white {
    stroke: #fff; }
  .result-stitch--green {
    stroke: #17817C; }
  .result-stitch--purp {
    stroke: #5A2F84; }

.result-urahira {
  fill: #000;
  stroke: #000; }

.result-race {
  fill: #c9a063;
  stroke: #292929; }
  .result-race--usa {
    fill: #804432; }
  .result-race--gray {
    fill: #888; }
  .result-race--white {
    fill: #fff; }
  .result-race--nbk {
    fill: #000; }
  .result-race--bk {
    fill: #000; }
  .result-race--rora {
    fill: #E12F1C; }
  .result-race--orange {
    fill: #EA6000; }
  .result-race--yel {
    fill: #ede690; }
  .result-race--lemon {
    fill: #F7D13C; }
  .result-race--cork {
    fill: #8E5538; }
  .result-race--cbrown {
    fill: #c5b28a; }
  .result-race--choco {
    fill: #6B3A3B; }
  .result-race--red {
    fill: #BA1522; }
  .result-race--navy {
    fill: #003455; }
  .result-race--blue {
    fill: #054D95; }

.result-hami {
  fill: #fff;
  stroke: #292929; }

.result-mouton {
  fill: #fff; }

.result-finger__item,
.result-web__leather,
.result-leather__item {
  fill: #c9a063;
  stroke: #292929; }

.result-mouton--yel,
.result-hami--yel,
.result-finger__item--yel,
.result-web__leather--yel,
.result-leather__item--yel {
  fill: #ede690; }

.result-mouton--lyel,
.result-hami--lyel,
.result-finger__item--lyel,
.result-web__leather--lyel,
.result-leather__item--lyel {
  fill: #F7D13C; }

.result-mouton--cork,
.result-hami--cork,
.result-finger__item--cork,
.result-web__leather--cork,
.result-leather__item--cork {
  fill: #8E5538; }

.result-mouton--choco,
.result-hami--choco,
.result-finger__item--choco,
.result-web__leather--choco,
.result-leather__item--choco {
  fill: #6B3A3B; }

.result-mouton--red,
.result-hami--red,
.result-finger__item--red,
.result-web__leather--red,
.result-leather__item--red {
  fill: #BA1522; }

.result-mouton--navy,
.result-hami--navy,
.result-finger__item--navy,
.result-web__leather--navy,
.result-leather__item--navy {
  fill: #003455; }

.result-mouton--blue,
.result-hami--blue,
.result-finger__item--blue,
.result-web__leather--blue,
.result-leather__item--blue {
  fill: #054D95; }

.result-mouton--lcor,
.result-hami--lcor,
.result-finger__item--lcor,
.result-web__leather--lcor,
.result-leather__item--lcor {
  fill: #c5b28a; }

.result-mouton--valo,
.result-hami--valo,
.result-finger__item--valo,
.result-web__leather--valo,
.result-leather__item--valo {
  fill: #35ADAC; }

.result-mouton--mudd,
.result-hami--mudd,
.result-finger__item--mudd,
.result-web__leather--mudd,
.result-leather__item--mudd {
  fill: #1F4C24; }

.result-mouton--teal,
.result-hami--teal,
.result-finger__item--teal,
.result-web__leather--teal,
.result-leather__item--teal {
  fill: #257A76; }

.result-mouton--purp,
.result-hami--purp,
.result-finger__item--purp,
.result-web__leather--purp,
.result-leather__item--purp {
  fill: #5A2F84; }

.result-mouton--pink,
.result-hami--pink,
.result-finger__item--pink,
.result-web__leather--pink,
.result-leather__item--pink {
  fill: #D85F9F; }

.result-mouton--wh,
.result-hami--wh,
.result-finger__item--wh,
.result-web__leather--wh,
.result-leather__item--wh {
  fill: #fff; }

.result-mouton--gray,
.result-hami--gray,
.result-finger__item--gray,
.result-web__leather--gray,
.result-leather__item--gray {
  fill: #888; }

.result-mouton--bk,
.result-hami--bk,
.result-finger__item--bk,
.result-web__leather--bk,
.result-leather__item--bk {
  fill: #000; }

.result-mouton--oran,
.result-hami--oran,
.result-finger__item--oran,
.result-web__leather--oran,
.result-leather__item--oran {
  fill: #EA6000; }

.result-mouton--rora,
.result-hami--rora,
.result-finger__item--rora,
.result-web__leather--rora,
.result-leather__item--rora {
  fill: #E12F1C; }

.result-moji {
  fill: #FFF100; }

.result-logo__hol {
  fill: rgba(44, 44, 44, 0.5); }

.result-logo__shadow {
  fill: rgba(0, 0, 0, 0.3); }

.result-race--cork .result-fix-white,
.result-race--nbk .result-fix-white {
  fill: #fff; }

.result-fix-bk {
  fill: #000; }

.result-fix-line {
  fill: none; }

.result-disabled {
  display: none; }

/*
* 1.modamoda
*/
/*==================================================
* 1.modamoda
==================================================*/
/*!
	Modaal - accessible modals - v0.4.3
	by Humaan, for all humans.
	http://humaan.com
 */
.modal_close {
  background-image: url("/images/more_close.png");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat; }

.modal_close img {
  display: none; }

.modaal-noscroll {
  overflow: hidden; }

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
  background: transparent !important; }

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out;
  background-color: rgba(0, 0, 0, 0.8) !important; }

.modaal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden; }

.modaal-wrapper .modaal-close {
  border: none;
  background-image: url(/images/more_close.png);
  padding: 0;
  -webkit-appearance: none; }

.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1; }

.modaal-wrapper.modaal-start_fade {
  opacity: 0; }

.modaal-wrapper *[tabindex="0"] {
  outline: none !important; }

.modaal-wrapper.modaal-fullscreen {
  overflow: hidden; }

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%; }

.modaal-fullscreen .modaal-outer-wrapper {
  display: block; }

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px; }

.modaal-fullscreen .modaal-inner-wrapper {
  padding: 0;
  display: block;
  vertical-align: top; }

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  max-width: 1000px;
  border-radius: 0px;
  cursor: auto; }

.modaal-container.is_loading {
  height: 100px;
  width: 100px;
  overflow: hidden; }

.modaal-fullscreen .modaal-container {
  max-width: none;
  height: 100%;
  overflow: auto; }

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 77px;
  height: 77px;
  /* background-image: url(/images/more_close.png); */
  border-radius: 100%;
  /* -webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out; */ }

.modaal-close:focus,
.modaal-close:hover {
  outline: none;
  /* background: #fff; */
  opacity: .8; }

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
  /* background: #b93d0c; */ }

.modaal-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

/* .modaal-close:before,
.modaal-close:after {
	display: block;
	content: " ";
	position: absolute;
	top: 19px;
    left: 35px;
    width: 5px;
    height: 41px;
    border-radius: 4px;
	background: #fff;
	-webkit-transition: background 0.2s ease-in-out;
	transition: background 0.2s ease-in-out;
} */
.modaal-close:before {
  transform: rotate(-45deg); }

.modaal-close:after {
  transform: rotate(45deg); }

.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 10px;
  top: 10px; }

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0; }

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent; }

.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  transition: background 0.2s ease-in-out; }

.modaal-confirm-btn.modaal-ok:hover {
  background: #2f2f2f; }

.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline; }

.modaal-confirm-btn.modaal-cancel:hover {
  text-decoration: none;
  color: #2f2f2f; }

.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important; }

.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent; }

.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important; }

.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards; }

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px; }

.modaal-image .modaal-container {
  width: auto;
  max-width: 100%; }

.modaal-gallery-wrap {
  position: relative;
  color: #fff; }

.modaal-gallery-item {
  display: none; }

.modaal-gallery-item img {
  display: block; }

.modaal-gallery-item.is_active {
  display: block; }

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff; }

.modaal-gallery-label:focus {
  outline: none; }

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out; }

.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default; }

.modaal-gallery-control:focus,
.modaal-gallery-control:hover {
  outline: none;
  background: #fff; }

.modaal-gallery-control:focus:before,
.modaal-gallery-control:focus:after,
.modaal-gallery-control:hover:before,
.modaal-gallery-control:hover:after {
  background: #afb7bc; }

.modaal-gallery-control span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

/* .modaal-gallery-control:before,
.modaal-gallery-control:after {
	display: block;
	content: " ";
	position: absolute;
	top: 16px;
	left: 25px;
	width: 4px;
	height: 18px;
	border-radius: 4px;
	background: #fff;
	-webkit-transition: background 0.2s ease-in-out;
	transition: background 0.2s ease-in-out;
} */
.modaal-gallery-control:before {
  margin: -5px 0 0;
  transform: rotate(-45deg); }

.modaal-gallery-control:after {
  margin: 5px 0 0;
  transform: rotate(45deg); }

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px; }

.modaal-gallery-next-outer {
  right: 45px; }

.modaal-gallery-prev:before,
.modaal-gallery-prev:after {
  left: 22px; }

.modaal-gallery-prev:before {
  margin: 5px 0 0;
  transform: rotate(-45deg); }

.modaal-gallery-prev:after {
  margin: -5px 0 0;
  transform: rotate(45deg); }

.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px; }

.modaal-gallery-prev-outer {
  left: 45px; }

.modaal-video-wrap {
  margin: auto 50px;
  position: relative; }

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }

.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%; }

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block; }

.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25); }

.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute; }

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff; }

.modaal-loading-spinner > div:nth-of-type(1) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0s; }

.modaal-loading-spinner > div:nth-of-type(2) > div,
.modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(1) {
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .12s; }

.modaal-loading-spinner > div:nth-of-type(2) {
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .25s; }

.modaal-loading-spinner > div:nth-of-type(4) > div,
.modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(3) {
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .37s; }

.modaal-loading-spinner > div:nth-of-type(4) {
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .5s; }

.modaal-loading-spinner > div:nth-of-type(6) > div,
.modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(5) {
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .62s; }

.modaal-loading-spinner > div:nth-of-type(6) {
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .75s; }

.modaal-loading-spinner > div:nth-of-type(7) {
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(8) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .87s; }

.modaal-loading-spinner > div:nth-of-type(8) {
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0); }

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px; } }

@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px; }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7); }
  .modaal-gallery-control:before,
  .modaal-gallery-control:after {
    background: #fff; }
  .modaal-gallery-next {
    left: auto;
    right: 20px; }
  .modaal-gallery-prev {
    left: 20px;
    right: auto; } }

@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; } }

@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important; } }

@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important; } }

@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px; }
  .modaal-instagram iframe {
    width: 600px !important; } }

@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px; } }

@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none; } }

@keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: .1;
    transform: scale(1); } }

@media screen and (max-width: 767px) {
  /*!
		Modaal - accessible modals - v0.4.3
		by Humaan, for all humans.
		http://humaan.com
	 */
  .modaal-noscroll {
    overflow: hidden; }
  .modaal-accessible-hide {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0;
    background: transparent !important; }
  .modaal-wrapper {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: auto;
    opacity: 1;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    transition: all 0.3s ease-in-out;
    background-color: rgba(0, 0, 0, 0.8) !important; }
  .modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden; }
  .modaal-wrapper .modaal-close {
    border: none;
    background-image: url(/images/more_close.png);
    padding: 0;
    -webkit-appearance: none; }
  .modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1; }
  .modaal-wrapper.modaal-start_fade {
    opacity: 0; }
  .modaal-wrapper *[tabindex="0"] {
    outline: none !important; }
  .modaal-wrapper.modaal-fullscreen {
    overflow: hidden; }
  .modaal-outer-wrapper {
    display: table;
    position: relative;
    width: 100%;
    height: 100%; }
  .modaal-fullscreen .modaal-outer-wrapper {
    display: block; }
  .modaal-inner-wrapper {
    display: table-cell;
    width: 100%;
    height: 100%;
    position: relative;
    vertical-align: middle;
    text-align: center;
    padding: 80px 25px; }
  .modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top; }
  .modaal-container {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: auto;
    text-align: left;
    color: #000;
    max-width: 1000px;
    border-radius: 0px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    cursor: auto; }
  .modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden; }
  .modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto; }
  .modaal-close {
    position: fixed;
    right: 20px;
    top: 20px;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    width: 50px !important;
    height: 50px !important;
    /* background-image: url("/images/more_close.png"); */
    background-size: cover;
    border-radius: 100%;
    /* -webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out; */ }
  .modaal-close:focus,
  .modaal-close:hover {
    outline: none;
    /* background: #fff; */
    opacity: .8; }
  .modaal-close:focus:before,
  .modaal-close:focus:after,
  .modaal-close:hover:before,
  .modaal-close:hover:after {
    /* background: #b93d0c; */ }
  .modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-close:before,
  .modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 19px;
    left: 35px;
    width: 5px;
    height: 41px;
    border-radius: 4px;
    /* background: #fff; */
    transition: background 0.2s ease-in-out; }
  .modaal-close:before {
    transform: rotate(-45deg); }
  .modaal-close:after {
    transform: rotate(45deg); }
  .modaal-fullscreen .modaal-close {
    right: 10px;
    top: 10px; }
  .modaal-confirm-wrap {
    padding: 30px 0 0;
    text-align: center;
    font-size: 0; }
  .modaal-confirm-btn {
    font-size: 14px;
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    background: transparent; }
  .modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    transition: background 0.2s ease-in-out; }
  .modaal-confirm-btn.modaal-ok:hover {
    background: #2f2f2f; }
  .modaal-confirm-btn.modaal-cancel {
    text-decoration: underline; }
  .modaal-confirm-btn.modaal-cancel:hover {
    text-decoration: none;
    color: #2f2f2f; }
  .modaal-instagram .modaal-container {
    width: auto;
    background: transparent;
    box-shadow: none !important; }
  .modaal-instagram .modaal-content-container {
    padding: 0;
    background: transparent; }
  .modaal-instagram .modaal-content-container > blockquote {
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important; }
  .modaal-instagram iframe {
    opacity: 0;
    margin: -6px !important;
    border-radius: 0 !important;
    width: 1000px !important;
    max-width: 800px !important;
    box-shadow: none !important;
    animation: instaReveal 1s linear forwards; }
  .modaal-image .modaal-inner-wrapper {
    padding-left: 140px;
    padding-right: 140px; }
  .modaal-image .modaal-container {
    width: auto;
    max-width: 100%; }
  .modaal-gallery-wrap {
    position: relative;
    color: #fff; }
  .modaal-gallery-item {
    display: none; }
  .modaal-gallery-item img {
    display: block; }
  .modaal-gallery-item.is_active {
    display: block; }
  .modaal-gallery-label {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 20px 0 0;
    font-size: 18px;
    text-align: center;
    color: #fff; }
  .modaal-gallery-label:focus {
    outline: none; }
  .modaal-gallery-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
    cursor: pointer;
    color: #fff;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0);
    border: none;
    border-radius: 100%;
    transition: all 0.2s ease-in-out; }
  .modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default; }
  .modaal-gallery-control:focus,
  .modaal-gallery-control:hover {
    outline: none;
    background: #fff; }
  .modaal-gallery-control:focus:before,
  .modaal-gallery-control:focus:after,
  .modaal-gallery-control:hover:before,
  .modaal-gallery-control:hover:after {
    background: #afb7bc; }
  .modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-gallery-control:before,
  .modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out; }
  .modaal-gallery-control:before {
    margin: -5px 0 0;
    transform: rotate(-45deg); }
  .modaal-gallery-control:after {
    margin: 5px 0 0;
    transform: rotate(45deg); }
  .modaal-gallery-next-inner {
    left: 100%;
    margin-left: 40px; }
  .modaal-gallery-next-outer {
    right: 45px; }
  .modaal-gallery-prev:before,
  .modaal-gallery-prev:after {
    left: 22px; }
  .modaal-gallery-prev:before {
    margin: 5px 0 0;
    transform: rotate(-45deg); }
  .modaal-gallery-prev:after {
    margin: -5px 0 0;
    transform: rotate(45deg); }
  .modaal-gallery-prev-inner {
    right: 100%;
    margin-right: 40px; }
  .modaal-gallery-prev-outer {
    left: 45px; }
  .modaal-video-wrap {
    margin: auto 0;
    position: relative; }
  .modaal-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto; }
  .modaal-video-container iframe,
  .modaal-video-container object,
  .modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .modaal-iframe .modaal-content {
    width: 100%;
    height: 100%; }
  .modaal-iframe-elem {
    width: 100%;
    height: 100%;
    display: block; }
  .modaal-loading-spinner {
    background: none;
    position: absolute;
    width: 200px;
    height: 200px;
    top: 50%;
    left: 50%;
    margin: -100px 0 0 -100px;
    transform: scale(0.25); }
  .modaal-loading-spinner > div {
    width: 24px;
    height: 24px;
    margin-left: 4px;
    margin-top: 4px;
    position: absolute; }
  .modaal-loading-spinner > div > div {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: #fff; }
  .modaal-loading-spinner > div:nth-of-type(1) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: 0s; }
  .modaal-loading-spinner > div:nth-of-type(2) > div,
  .modaal-loading-spinner > div:nth-of-type(3) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite; }
  .modaal-loading-spinner > div:nth-of-type(1) {
    transform: translate(84px, 84px) rotate(45deg) translate(70px, 0); }
  .modaal-loading-spinner > div:nth-of-type(2) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: .12s; }
  .modaal-loading-spinner > div:nth-of-type(2) {
    transform: translate(84px, 84px) rotate(90deg) translate(70px, 0); }
  .modaal-loading-spinner > div:nth-of-type(3) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: .25s; }
  .modaal-loading-spinner > div:nth-of-type(4) > div,
  .modaal-loading-spinner > div:nth-of-type(5) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite; }
  .modaal-loading-spinner > div:nth-of-type(3) {
    transform: translate(84px, 84px) rotate(135deg) translate(70px, 0); }
  .modaal-loading-spinner > div:nth-of-type(4) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: .37s; }
  .modaal-loading-spinner > div:nth-of-type(4) {
    transform: translate(84px, 84px) rotate(180deg) translate(70px, 0); }
  .modaal-loading-spinner > div:nth-of-type(5) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: .5s; }
  .modaal-loading-spinner > div:nth-of-type(6) > div,
  .modaal-loading-spinner > div:nth-of-type(7) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite; }
  .modaal-loading-spinner > div:nth-of-type(5) {
    transform: translate(84px, 84px) rotate(225deg) translate(70px, 0); }
  .modaal-loading-spinner > div:nth-of-type(6) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: .62s; }
  .modaal-loading-spinner > div:nth-of-type(6) {
    transform: translate(84px, 84px) rotate(270deg) translate(70px, 0); }
  .modaal-loading-spinner > div:nth-of-type(7) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: .75s; }
  .modaal-loading-spinner > div:nth-of-type(7) {
    transform: translate(84px, 84px) rotate(315deg) translate(70px, 0); }
  .modaal-loading-spinner > div:nth-of-type(8) > div {
    animation: modaal-loading-spinner 1s linear infinite;
    animation-delay: .87s; }
  .modaal-loading-spinner > div:nth-of-type(8) {
    transform: translate(84px, 84px) rotate(360deg) translate(70px, 0); } }

@media only screen and (max-width: 767px) and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px; } }

@media only screen and (max-width: 767px) and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px; }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7); }
  .modaal-gallery-control:before,
  .modaal-gallery-control:after {
    background: #fff; }
  .modaal-gallery-next {
    left: auto;
    right: 20px; }
  .modaal-gallery-prev {
    left: 20px;
    right: auto; } }

@media screen and (max-width: 767px) and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; } }

@media only screen and (max-width: 767px) and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important; } }

@media screen and (max-width: 767px) and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important; } }

@media screen and (max-width: 767px) and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px; }
  .modaal-instagram iframe {
    width: 600px !important; } }

@media screen and (max-width: 767px) and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; }
  .modaal-video-container {
    max-width: 900px;
    /* max-height: 510px; */
    height: 100vh; } }

@media only screen and (max-width: 767px) and (max-height: 820px) {
  .modaal-gallery-label {
    display: none; } }

@media screen and (max-width: 767px) {
  @keyframes instaReveal {
    0% {
      opacity: 0; }
    100% {
      opacity: 1; } }
  @keyframes modaal-loading-spinner {
    0% {
      opacity: 1;
      transform: scale(1.5); }
    100% {
      opacity: .1;
      transform: scale(1); } } }

/*==================================================
* common_parts
==================================================*/
.contain {
  padding: 60px 0 80px; }
  .results + .contain {
    padding-top: 20px; }
  @media screen and (max-width: 640px) {
    .contain {
      padding: 8vw 0 12vw;
      overflow: hidden; } }

.section {
  margin-bottom: 80px; }
  .section:last-child {
    margin-bottom: 0; }
  .section__box {
    margin-top: 80px; }

.common-h2 {
  min-height: 40px;
  margin-bottom: 32px;
  padding-left: 26px;
  padding-top: 2px;
  font-size: 3.2rem;
  font-weight: bold;
  background: url(/images/icon_h.svg) no-repeat left top/16px; }
  @media screen and (max-width: 640px) {
    .common-h2 {
      min-height: 10vw;
      margin-bottom: 6vw;
      padding-left: 22px;
      font-size: 7vw; } }

.common-h3 {
  position: relative;
  margin-top: 48px;
  margin-bottom: 16px;
  padding-left: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0; }
  .common-h3:first-child {
    margin-top: 20px; }
  .common-h3:after {
    content: "";
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    top: 7px;
    left: 0;
    background: #FF4500; }

.thumb-ttl {
  margin-top: 16px;
  margin-bottom: -8px;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0; }

.ul {
  padding-left: 20px;
  margin-bottom: 24px; }
  .ul li {
    margin-bottom: 8px;
    list-style-type: disc; }

.table {
  width: 100%;
  margin-bottom: 10px;
  line-height: 1.25;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd; }
  .table th, .table td {
    padding: 12px;
    text-align: left;
    vertical-align: middle;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd; }
  .table th {
    color: #fff;
    background: #000; }

.btn {
  text-align: center; }
  .btn__item {
    display: inline-block;
    margin: 32px 10px 0; }
  .btn__link {
    display: block;
    padding: 20px;
    background: #EBA533;
    color: #fff;
    font-size: 2.2rem;
    border-radius: 4px;
    min-width: 320px;
    max-width: 100%; }
    .btn__link:hover {
      background: #FAC449;
      opacity: 1; }
    .btn__link--danger {
      background: #FF4500; }
      .btn__link--danger:hover {
        background: #FF655F;
        opacity: 1; }
    .btn__link--disabled {
      pointer-events: none;
      opacity: .3; }
  @media screen and (max-width: 640px) {
    .btn__item {
      margin-top: 4.8vw;
      margin-left: 0;
      margin-right: 0;
      max-width: 100%; }
    .btn__link {
      padding: 4vw;
      background: #EBA533;
      color: #fff;
      border-radius: 4px;
      min-width: 0;
      width: 320px;
      max-width: 100%;
      margin: auto; } }
  @media screen and (max-width: 480px) {
    .btn__link {
      font-size: 4.8vw; } }

/*==================================================
* top
==================================================*/
.mv {
  position: relative;
  height: 520px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-align: center;
      align-items: center;
  background: url(/images/mv_logo.svg) no-repeat center/auto 90%, url(/images/mv_bg.jpg) no-repeat center/cover;
  text-align: center;
  color: #fff; }
  .mv:before, .mv:after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    border-left: 25vw solid transparent;
    border-right: 25vw solid transparent;
    border-bottom: 65px solid #fff;
    border-top: 65px solid transparent; }
  .mv:before {
    left: 0;
    border-left: 25vw solid #fff; }
  .mv:after {
    right: 0;
    border-right: 25vw solid #fff; }
  @media screen and (max-width: 768px) {
    .mv:before, .mv:after {
      border-bottom-width: 25px;
      border-top-width: 25px; } }
  @media screen and (max-width: 640px) {
    .mv {
      height: auto;
      min-height: 75vh;
      padding: 12vw 0; }
      .mv:before, .mv:after {
        bottom: -1px; } }

.mv-cts__intro {
  margin-bottom: 60px; }
  .mv-cts__intro img {
    max-width: 320px; }

.mv-cts__main {
  margin-bottom: 30px;
  font-size: 3rem;
  font-weight: bold; }

.mv-cts__sub {
  font-size: 1.8rem; }

@media screen and (max-width: 640px) {
  .mv-cts__intro {
    margin-bottom: 8vw; }
    .mv-cts__intro img {
      width: 80%; }
  .mv-cts__main {
    margin-bottom: 8vw;
    font-size: 8vw; }
  .mv-cts__sub {
    font-size: 4vw; } }

.temp-cards {
  margin-top: 40px;
  padding-bottom: 60px;
  border-bottom: 2px solid #f0f0f0; }
  .temp-cards__item {
    position: relative;
    display: block;
    border: 1px solid #707070;
    border-radius: 4px;
    overflow: hidden; }

/*==================================================
* preparation
==================================================*/
.preparation__box {
  display: none; }
  .preparation__box--active {
    display: block; }

/*==================================================
* selects
==================================================*/
.custom-label {
  display: block;
  cursor: pointer; }

.custom-input {
  display: none; }
  .custom-input--visible {
    display: inherit; }

.select-thumb-a {
  margin-top: 20px;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px; }
  .select-thumb-a__item {
    width: 220px;
    max-width: calc(50% - 20px);
    margin: 0 10px 20px;
    vertical-align: top; }
    .custom-input:disabled + .select-thumb-a__item, .select-thumb-a__item--disable {
      opacity: .2;
      pointer-events: none;
      cursor: default; }
  .select-thumb-a .select-size__item, .select-thumb-a__thumb {
    position: relative;
    display: block;
    margin-bottom: 16px;
    border-radius: 4px; }
    .select-thumb-a .select-size__item .custom-input:checked + .custom-label:after,
    .custom-input:checked + .select-thumb-a .select-size__item:after,
    .select-thumb-a .select-size__item:hover .custom-label:after, .select-thumb-a__thumb .custom-input:checked + .custom-label:after,
    .custom-input:checked + .select-thumb-a__thumb:after,
    .select-thumb-a__thumb:hover .custom-label:after {
      content: "";
      display: block;
      width: calc(100% + 4px);
      height: calc(100% + 8px);
      position: absolute;
      top: -2px;
      left: -2px;
      border-radius: 4px;
      border: 8px solid #EBA533;
      pointer-events: none; }
    .custom-input:disabled + .select-thumb-a .select-size__item, .custom-input:disabled + .select-thumb-a__thumb {
      opacity: .2;
      pointer-events: none;
      cursor: default; }
      .custom-input:disabled + .select-thumb-a .select-size__item:after, .custom-input:disabled + .select-thumb-a__thumb:after {
        content: none; }
  .select-thumb-a__ttl {
    padding: 4px;
    background: #000;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 4px 4px 0 0; }
  .select-thumb-a__img {
    border-radius: 0 0 4px 4px;
    overflow: hidden; }
    .select-thumb-a__img img {
      width: 100%; }
  .select-thumb-a--3 .select-thumb-a__item {
    max-width: calc(33% - 20px); }
  @media screen and (max-width: 640px) {
    .select-thumb-a {
      margin-left: -5px;
      margin-right: -5px; }
      .select-thumb-a__item {
        max-width: calc(50% - 10px);
        margin-left: 5px;
        margin-right: 4px; }
      .select-thumb-a--3 .select-thumb-a__item {
        max-width: calc(33% - 10px); }
      .select-thumb-a__thumb {
        margin-bottom: 3.2vw; }
      .select-thumb-a__ttl {
        padding: 4px 0;
        font-size: 2.4vw; } }

.glove-sizes {
  width: 400px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  text-align: center;
  border-radius: 4px;
  overflow: hidden; }
  .glove-sizes__ttl {
    background: #000;
    padding: 8px;
    color: #fff;
    font-size: 2rem;
    font-weight: bold; }
  .glove-sizes__item {
    padding: 12px;
    border-bottom: 1px solid #dedede; }
  .glove-sizes__link {
    display: block;
    line-height: 40px; }

.label-preview {
  position: relative;
  text-align: center;
  font-size: 1.4rem; }
  .label-preview__img {
    margin-top: 8px; }
  .label-preview__ttl {
    margin-top: 12px; }
  .label-preview .custom-input:checked + .custom-label:after,
  .custom-input:checked + .label-preview:after,
  .label-preview:hover .custom-label:after {
    content: "";
    display: block;
    width: calc(100% + 4px);
    height: calc(100% + 8px);
    position: absolute;
    top: -2px;
    left: -2px;
    border-radius: 4px;
    border: 8px solid #EBA533;
    pointer-events: none; }
  .custom-input:disabled + .label-preview {
    opacity: .2;
    pointer-events: none;
    cursor: default; }
    .custom-input:disabled + .label-preview:after {
      content: none; }

.select-input {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .select-input__input {
    display: inherit;
    width: auto; }
  @media screen and (max-width: 480px) {
    .select-input {
      width: 100%;
      display: block; }
      .select-input__input {
        display: block;
        width: 100%;
        margin-left: 0; } }

/*==================================================
* custom
==================================================*/
.gene-tabs {
  position: absolute;
  width: 100%;
  border-bottom: 1px solid #6A6259;
  bottom: 0; }

.gene-tab-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .gene-tab-list__item {
    width: calc(100% / 3 - 1.2%); }
  .gene-tab-list__link {
    position: relative;
    display: block;
    height: 36px;
    text-align: center;
    line-height: 36px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    background: #6A6259;
    border-radius: 4px 4px 0 0; }
    .gene-tab-list__link--on {
      background: #EBA533;
      color: inherit; }
      .gene-tab-list__link--on:hover {
        opacity: 1;
        background: #FAC449; }
  @media screen and (max-width: 640px) {
    .gene-tab-list__link {
      height: 44px;
      line-height: 44px;
      font-size: 4vw; } }

.sub-menus {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  width: 100%; }
  .sub-menus__item {
    display: -ms-flexbox;
    display: flex;
    overflow: auto; }
    .sub-menus__item::-webkit-scrollbar {
      display: none; }

.sub-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  width: 100%;
  height: 44px;
  padding: 0 10px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(to bottom, #FFB000, #D39916); }
  .sub-menu__item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 8px; }
  .sub-menu__anc {
    display: block;
    padding: 0 12px;
    font-size: 1.4rem;
    text-align: center;
    font-weight: bold;
    line-height: 32px;
    background: rgba(255, 255, 255, 0.35);
    border-radius: 4px; }
    .sub-menu__anc:last-child {
      margin-right: 0; }
    .sub-menu__anc.is-active {
      background: #fff;
      color: #FF8900; }
  @media screen and (max-width: 768px) {
    .sub-menu {
      width: auto;
      min-width: 100%;
      padding-left: 50px; }
      .sub-menu:before {
        content: "";
        display: block;
        width: 32px;
        height: 32px;
        position: absolute;
        top: 6px;
        left: 6px;
        pointer-events: none;
        background: url(/images/icon_swipe.svg) no-repeat center/contain;
        animation: swipe 1s infinite; } }

@keyframes swipe {
  0% {
    left: 12px; }
  80% {
    left: 6px; }
  100% {
    left: 6px; } }

.gene-choices-wrap__child {
  padding-top: 44px; }

.gene-main-cate__item {
  margin-bottom: 8px; }

.gene-main-cate--2 {
  margin-left: auto;
  margin-right: auto; }

.gene-main-cate--3 {
  margin-left: auto; }

.cate-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 48px;
  padding: 8px 12px;
  background: #E0D6CA;
  border-radius: 4px; }
  .cate-bar__ttl, .cate-bar__ctt {
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .cate-bar__ttl {
    padding-right: 16px;
    border-right: 2px dashed #C1AE98; }
  .cate-bar__ctt {
    position: relative;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-positive: 2;
        flex-grow: 2;
    padding-left: 16px;
    padding-right: 32px;
    border-left: 2px dashed #fff; }
    .cate-bar__ctt:after {
      content: "";
      position: absolute;
      right: 0;
      top: calc(50% - 14px);
      display: block; }
    .cate-bar__ctt:after {
      top: 50%;
      width: 8px;
      height: 8px;
      border-right: 2px solid #6A6259;
      border-bottom: 2px solid #6A6259;
      transform: rotate(45deg) translate(-4px, 0px); }

.switching__ctt,
.choice-drawer__cts {
  display: none; }

.choice-nav {
  position: relative;
  margin: 32px 0; }
  .choice-nav__prev, .choice-nav__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 25%;
    color: #EBA533; }
    .choice-nav__prev:before, .choice-nav__next:before {
      content: "";
      position: absolute;
      top: 8px;
      display: block;
      width: 8px;
      height: 8px;
      border-left: 2px solid #000;
      border-bottom: 2px solid #000; }
  .choice-nav__curr {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    font-size: 2rem;
    font-weight: bold;
    text-align: center; }
  .choice-nav__prev {
    left: 0;
    padding-left: 16px; }
    .choice-nav__prev:before {
      left: 0;
      transform: rotate(45deg); }
  .choice-nav__next {
    right: 0;
    text-align: right;
    padding-right: 16px; }
    .choice-nav__next:before {
      right: 0;
      transform: rotate(225deg); }
  @media screen and (max-width: 640px) {
    .choice-nav {
      margin: 4.8vw 0; } }

.all-intro {
  text-align: center;
  margin-bottom: 12px; }

.switching {
  margin: 16px 0; }
  .switching__ctt {
    padding-top: 12px; }

.check-switch {
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 40px; }
  .check-switch__txt {
    margin-right: 10px; }
  .check-switch__btn {
    position: relative;
    width: 68px;
    height: 40px;
    background: #f0f0f0;
    border: #707070 1px solid;
    border-radius: 100px;
    transition: all .2s;
    cursor: pointer; }
    .check-switch__btn:before {
      content: "";
      position: absolute;
      top: calc(50% - 15px);
      left: 4px;
      display: block;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #7B6868;
      transition: all .2s; }
    .is-active .check-switch__btn {
      background: #FDC547; }
      .is-active .check-switch__btn:before {
        left: 50%; }

.color-palette {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 12px 8px 0;
  line-height: 1.25; }
  .color-palette__item {
    width: 94px;
    max-width: 20%;
    margin-bottom: 16px;
    padding: 0 4px; }
  @media screen and (max-width: 640px) {
    .color-palette {
      margin-bottom: 3.2vw; } }

.color-preview,
.race-preview,
.label-preview {
  font-size: 1.2rem; }
  @media screen and (max-width: 640px) {
    .color-preview,
    .race-preview,
    .label-preview {
      font-size: 2.4vw; } }

.color-preview,
.race-preview {
  position: relative;
  display: block;
  padding-top: 96%;
  text-align: center; }
  .color-preview:before,
  .race-preview:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 92%;
    padding-top: 92%;
    transform: translateX(-50%);
    border-radius: 50%;
    background-size: contain; }
  .custom-input:disabled + .color-preview, .custom-input:disabled +
  .race-preview {
    opacity: .1;
    pointer-events: none;
    cursor: default; }
  .custom-input:checked + .color-preview:after, .color-preview:hover:after, .custom-input:checked +
  .race-preview:after,
  .race-preview:hover:after {
    content: "";
    display: block;
    width: 95%;
    padding-top: calc(95% - 12px);
    position: absolute;
    top: 0;
    left: 50%;
    border: 6px solid #EBA533;
    border-radius: 50%;
    transform: translateX(-50%); }
  .color-palette--all .custom-input:checked + .color-preview:after, .color-palette--all .custom-input:checked +
  .race-preview:after {
    content: none; }

.color-selected--yel:before,
.color-preview--yel:before,
.fin-color--yel:before {
  background: #ede690; }

.color-selected--lyel:before,
.color-preview--lyel:before,
.fin-color--lyel:before {
  background: #F7D13C; }

.color-selected--cork:before,
.color-preview--cork:before,
.fin-color--cork:before {
  background: #8E5538; }

.color-selected--choco:before,
.color-preview--choco:before,
.fin-color--choco:before {
  background: #6B3A3B; }

.color-selected--red:before,
.color-preview--red:before,
.fin-color--red:before {
  background: #BA1522; }

.color-selected--navy:before,
.color-preview--navy:before,
.fin-color--navy:before {
  background: #003455; }

.color-selected--blue:before,
.color-preview--blue:before,
.fin-color--blue:before {
  background: #054D95; }

.color-selected--lcor:before,
.color-preview--lcor:before,
.fin-color--lcor:before {
  background: #c5b28a; }

.color-selected--valo:before,
.color-preview--valo:before,
.fin-color--valo:before {
  background: #35ADAC; }

.color-selected--mudd:before,
.color-preview--mudd:before,
.fin-color--mudd:before {
  background: #1F4C24; }

.color-selected--teal:before,
.color-preview--teal:before,
.fin-color--teal:before {
  background: #257A76; }

.color-selected--purp:before,
.color-preview--purp:before,
.fin-color--purp:before {
  background: #5A2F84; }

.color-selected--pink:before,
.color-preview--pink:before,
.fin-color--pink:before {
  background: #D85F9F; }

.color-selected--white:before,
.color-preview--white:before,
.fin-color--white:before {
  background: #fff;
  border: 1px solid #ccc; }

.color-selected--wh:before,
.color-preview--wh:before,
.fin-color--wh:before {
  background: #fff;
  border: 1px solid #ccc; }

.color-selected--gray:before,
.color-preview--gray:before,
.fin-color--gray:before {
  background: #888; }

.color-selected--bk:before,
.color-preview--bk:before,
.fin-color--bk:before {
  background: #000; }

.color-selected--oran:before,
.color-preview--oran:before,
.fin-color--oran:before {
  background: #EA6000; }

.color-selected--rora:before,
.color-preview--rora:before,
.fin-color--rora:before {
  background: #E12F1C; }

.color-selected--sblue:before,
.color-preview--sblue:before,
.fin-color--sblue:before {
  background: #6BC5D1; }

.color-selected--green:before,
.color-preview--green:before,
.fin-color--green:before {
  background: #17817C; }

.color-selected--gold:before,
.color-preview--gold:before,
.fin-color--gold:before {
  background: linear-gradient(135deg, #FDC547 0%, #7C5600 100%); }

.color-selected--silver:before,
.color-preview--silver:before,
.fin-color--silver:before {
  background: linear-gradient(135deg, #cecece 0%, #444 100%); }

.color-selected--lgol:before,
.color-preview--lgol:before,
.fin-color--lgol:before {
  background: linear-gradient(135deg, #FCECCA 0%, #D99F18 100%); }

.color-selected--lsil:before,
.color-preview--lsil:before,
.fin-color--lsil:before {
  background: linear-gradient(135deg, #fafafa 0%, #888 100%); }

.color-selected--nbk:before,
.color-preview--nbk:before,
.fin-color--nbk:before {
  background: url(/images/select_items/lace_nbk.png) no-repeat center/contain; }

.race-preview:before {
  border: 1px solid #777;
  background-size: cover;
  padding-top: calc(92% - 2px); }

.race-preview--usa:before {
  background-image: url(/images/select_items/lace_usa.png); }

.race-preview--gray:before {
  background-image: url(/images/select_items/lace_gray.png); }

.race-preview--white:before {
  background-image: url(/images/select_items/lace_white.png); }

.race-preview--nbk:before {
  background-image: url(/images/select_items/lace_nbk.png); }

.race-preview--bk:before {
  background-image: url(/images/select_items/lace_bk.png); }

.race-preview--usa:before {
  background-image: url(/images/select_items/lace_usa.png); }

.race-preview--rora:before {
  background-image: url(/images/select_items/lace_rora.png); }

.race-preview--orange:before {
  background-image: url(/images/select_items/lace_orange.png); }

.race-preview--cbrown:before {
  background-image: url(/images/select_items/lace_cbrown.png); }

.race-preview--yel:before {
  background-image: url(/images/select_items/lace_yel.png); }

.race-preview--lemon:before {
  background-image: url(/images/select_items/lace_lemon.png); }

.race-preview--cork:before {
  background-image: url(/images/select_items/lace_cork.png); }

.race-preview--choco:before {
  background-image: url(/images/select_items/lace_choco.png); }

.race-preview--red:before {
  background-image: url(/images/select_items/lace_red.png); }

.race-preview--navy:before {
  background-image: url(/images/select_items/lace_navy.png); }

.race-preview--blue:before {
  background-image: url(/images/select_items/lace_blue.png); }

.color-selected,
.fin-color {
  position: relative;
  display: inline-block;
  margin-bottom: 4px;
  padding-top: 0;
  font-size: inherit; }
  .color-selected:before,
  .fin-color:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    border-radius: 50%;
    margin-right: 4px;
    width: 32px;
    height: 32px; }

.color-selected {
  margin-bottom: 0; }
  .color-selected:before {
    width: 24px;
    height: 24px; }

.choice-drawer {
  margin-bottom: 8px;
  background: #F2EFEC;
  border-radius: 4px; }
  .choice-drawer__ttl {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 40px;
    padding: 8px 12px;
    padding-right: 32px;
    font-weight: bold; }
    .choice-drawer__ttl:after {
      content: "";
      position: absolute;
      right: 0;
      top: calc(50% - 14px);
      display: block; }
    .choice-drawer__ttl:after {
      top: 50%;
      right: 10px;
      width: 8px;
      height: 8px;
      border-right: 2px solid #6A6259;
      border-bottom: 2px solid #6A6259;
      transform: rotate(45deg) translate(-2px, -5px);
      transform-origin: center top; }
    .choice-drawer__ttl.is-active:after {
      transform: rotate(225deg) translate(-2px, -5px); }
    .choice-drawer__ttl-main {
      width: 20%; }
    .choice-drawer__ttl-sub {
      width: 80%;
      font-weight: normal;
      font-size: 80%; }
  .choice-drawer__cts {
    padding: 0 12px;
    padding-bottom: 16px; }
  @media screen and (max-width: 768px) {
    .choice-drawer__ttl-main {
      width: 45%; }
    .choice-drawer__ttl-sub {
      width: 55%; } }

.start-description {
  opacity: 0;
  pointer-events: none;
  transition: .3s;
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); }
  .start-description-on .start-description {
    opacity: 1;
    pointer-events: auto; }
  .start-description__item {
    position: absolute;
    background: #fff;
    border-radius: 6px;
    padding: 10px;
    font-size: 1.4rem;
    line-height: 1.5; }
    .start-description__item:before {
      content: "";
      position: absolute;
      bottom: 100%;
      left: calc(50% - 3px);
      display: block;
      border: 6px solid transparent;
      border-bottom: 8px solid #fff; }
    .start-description__item--1 {
      right: 16px;
      top: 56px; }
    .start-description__item--2 {
      top: 64vw;
      min-width: 200px;
      left: 50%;
      transform: translateX(-50%); }
  .start-description__guide {
    position: absolute;
    bottom: 16px;
    width: 100%;
    font-size: 2rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.9); }
  @media screen and (min-width: 641px) {
    .start-description {
      display: none; } }
  @media screen and (max-width: 480px) {
    .start-description__item--2 {
      top: 72vw; }
    .start-description__guide {
      font-size: 6vw; } }

/*==================================================
* results
==================================================*/
.results {
  position: relative;
  padding-top: 12px;
  padding-bottom: 40px;
  background: #f3f3f3;
  position: sticky;
  top: 50px;
  z-index: 1; }
  .results__inner {
    max-width: 800px; }
  .is-fin .results {
    padding-bottom: 12px; }

@media screen and (min-width: 769px) and (max-height: 768px) {
  .results__inner {
    max-width: 75vh; } }
  @media screen and (max-width: 768px) {
    .results {
      top: 44px; } }

/*==================================================
* finished
==================================================*/
.fin-total {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  max-width: 620px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px;
  font-weight: bold;
  border: 4px solid #FF4500;
  border-radius: 4px; }
  .fin-total__ttl {
    min-width: 12%; }
  .fin-total__amount {
    font-size: 2.8rem; }
  @media screen and (max-width: 640px) {
    .fin-total {
      margin-top: 6vw;
      margin-left: auto;
      margin-right: auto;
      padding: 4vw; } }

.fin-ttl {
  padding: 12px;
  background: #6A6259;
  color: #fff;
  text-align: center; }

.fin-list {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .fin-list__ttl, .fin-list__ctt {
    padding: 20px 8px;
    border-bottom: 1px solid #777;
    word-break: break-all; }
  .fin-list__ttl {
    width: 200px; }
  .fin-list__ctt {
    width: calc(100% - 200px); }
  @media screen and (max-width: 640px) {
    .fin-list__ttl, .fin-list__ctt {
      width: 100%;
      padding-top: 12px;
      padding-bottom: 12px; }
    .fin-list__ttl {
      padding-bottom: 2px;
      font-weight: bold;
      border-bottom: none; }
    .fin-list__ctt {
      padding-top: 2px; } }

.select-size {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .select-size__item {
    width: calc(100% / 3 - 20px);
    text-align: center;
    margin: 0 10px 20px; }
  .select-size__txt {
    position: relative;
    width: 100%;
    background: #2c2c2c;
    color: #fff;
    padding: 20px 20px;
    border-radius: 4px; }
    .select-size__txt:hover {
      opacity: .8; }
    .custom-input:disabled + .select-size__txt, .select-size__txt--disable {
      opacity: .2;
      pointer-events: none;
      cursor: default; }
  @media screen and (max-width: 640px) {
    .select-size__item {
      width: calc(100% / 2 - 10px);
      margin-left: 5px;
      margin-right: 5px; } }

.error {
  margin-left: 12px;
  font-size: 80%;
  color: #ff4500; }
  @media screen and (max-width: 480px) {
    .error {
      display: block;
      margin-left: 0; } }
