@charset "UTF-8";
/* CSS Document */
/*----------------------------------------------------
 basic
----------------------------------------------------*/
html, body {
  width: 100%;
  height: 100%;
}

html {
  /*font-size: 62.5%;*/
  font-size: 10px;
  /*16÷1000×100*/
  /*font-size: 0.714285714285714vw;*/
}

*::selection {
  background-color: #e6e6e6;
}

#wrapper {
  font-size: 1.6rem;
  opacity: 1 !important;
}

/*@media screen and (min-width: 768px) and (max-width: 1280px) {
html {
    font-size: 0.78125vw;
}
}*/
body {
  /*font-feature-settings: "palt";*/
  color: #262626; /*デフォルト2a2a2a*/
  font-family: "century-gothic", "Century Gothic", "CenturyGothic", "Noto Sans Japanese", "Helvetica Neue", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", sans-serif;
  /*font-family: 'Shippori Mincho', "游明朝",Yu Mincho,'Noto Serif',"ヒラギノ明朝 ProN W3","HiraMinProN-W3","ヒラギノ明朝 ProN W6","HiraMinProN-W6","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;*/
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: 400;
  -webkit-text-size-adjust: none; /* フォントサイズ自動調整 */
  /*position: relative;*/
  width: 100%;
  text-align: left;
  letter-spacing: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background-color: #FCFCFC;
}

/*_:lang(x)::-ms-backdrop, body {
    font-family: Meiryo, sans-serif;
} */
body.fade {
  overflow: hidden;
}

/*	@media screen and (min-width: 769px) {
			body{
				min-width: 1024px;
		}
	}*/
@media screen and (max-width: 768px) {
  html {
    /*font-size: 62.5%;*/
    font-size: 2.6667vw;
  }
  body {
    /*font-size: 14px;*/
    /*-webkit-text-size-adjust: 100%;  フォントサイズ自動調整 */
  }
  #wrapper {
    font-size: 1.4rem;
    z-index: 1;
    /*-webkit-transition: 0.2s ease-in-out;
       -moz-transition: 0.2s ease-in-out;
         -o-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out; */
  }
  #wrapper.closeCon {
    border-right: 1px solid #ccc;
    -webkit-transform: translate(-280px);
    -moz-transform: translate(-280px);
     -ms-transform: translate(-280px);
      -o-transform: translate(-280px);
         transform: translate(-280px);
  }
}
* {
  font-size-adjust: from-font;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
       box-sizing: border-box;
}

a:link {
  color: #262626;
  text-decoration: none;
}

a:visited {
  color: #262626;
}

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

a:focus {
  outline: none;
}

a, button {
  -webkit-tap-highlight-color: rgba(200, 200, 200, 0.4);
}

a {
  outline: none;
  transition: all 0.6s;
}

a {
  cursor: pointer;
}

/*a {
	-moz-transition: all 0.4s ease-in-out, color 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out, color 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out, color 0.4s ease-in-out;
	-ms-transition: all 0.4s ease-in-out, color 0.4s ease-in-out;
	transition: all 0.4s ease-in-out, color 0.4s ease-in-out;
}*/
img {
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

img:not([width]) {
  /*zoom: .5; /* Retinaディスプレイ対応のためimg要素は半分の大きさに */
}

p, dl, ol, ul {
  margin: 0;
  list-style: none outside;
}

em {
  font-style: normal;
}

ul {
  text-align: left;
}

li {
  margin: 0;
  list-style: none outside;
}

h1, h2, h3, h4, p.txt, ul, dl {
  text-align: left;
}

h1, h2, h3, h4 {
  font-weight: normal;
}

p.ttl {
  font-size: 100%;
  font-weight: bold;
  margin-bottom: 0.3em;
}

p.txt {
  margin-bottom: 2em;
  font-size: 100%;
}

p.img {
  margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
  * {
    -webkit-appearance: none;
  }
}
a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
  /*
     -webkit-transition: 0.2s ease-in-out;
        -moz-transition: 0.2s ease-in-out;
          -o-transition: 0.2s ease-in-out;
             transition: 0.2s ease-in-out;
  */
}

@media screen and (max-width: 768px) {
  a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
  }
}
/*アニメーション*/
/*
*::before,
*::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
*/
/*アニメーション*/
.anim {
  opacity: 0;
  -ms-filter: blur(1rem);
  filter: blur(1rem);
  transform: translateY(5rem);

  /*-webkit-transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1) 0.2s, -webkit-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1) 0.2s;
  -moz-transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1) 0.2s, -moz-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1) 0.2s;
  transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1) 0.2s, transform 1.2s cubic-bezier(0.33, 1, 0.68, 1) 0.2s;*/

  -webkit-transition: all .3s;
  transition: all 0.3s;
}

.anim._do_anim {
  opacity: 1;
  filter: none;
  transform: none;
}

@media print {
  .anim {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
/* ローディング
----------------------------------------- */
/*body #loader {
width: 292px;
height: 26px;
display: block;
position: fixed;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 100;
background: url(../images/loading.svg) no-repeat;
-webkit-background-size: 292px;
-moz-background-size: 292px;
background-size: 292px;
}*/
body #fade {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FCFCFC;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 9999999;
}

body #fade2 {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 9999999;
  background: #FCFCFC;
}

/*body#top #fade {
position: relative;
top: auto;
left: auto;
z-index: 2;
}*/
/*wrapper ローディング用*/
body #wrapper {
  width: 100%;
  /*min-width: 100rem;*/
  margin: auto;
  /*overflow: auto;*/
  /*opacity: 0;*/
  filter: alpha(opacity=0);
  -ms-filter: "alpha( opacity=0 )";
  /*-webkit-transition: all .6s;
  transition: all .6s;*/
}

#fade #cover {
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  position: relative;
  opacity: 0;
}

#fade #movie {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.loading {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.loading span {
  display: block;
  opacity: 0;
  margin: 0;
  animation: loading 1.2s infinite ease-in-out alternate;
}

.loadtext {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 300px;
  text-align: center;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  font-size: 1.2rem;
}

@keyframes loading {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
#top .loading span {
  display: block;
  opacity: 0;
  margin: 0;
  -ms-filter: blur(1rem);
  filter: blur(1rem);
  animation: loading2 1.5s ease-in-out 1 alternate forwards;
}

@keyframes loading2 {
  0% {
    -ms-filter: blur(1rem);
    filter: blur(1rem);
    opacity: 0;
  }
  100% {
    filter: none;
    opacity: 1;
  }
}
#top #fade.is_scroll .loading span {
  display: block;
  opacity: 1;
  margin: 0;
  animation: loading3 1.5s ease-in-out 1 alternate forwards;
}

@keyframes loading3 {
  0% {
    filter: none;
  }
  100% {
    opacity: 0;
    -ms-filter: blur(1rem);
    filter: blur(1rem);
  }
}
#top .loading span.logo {
  width: 5.8rem;
  display: block;
}

#fade .scroll_arrow {
  position: absolute;
  bottom: 0;
  right: 3rem;
  transform: translate(0, 0);
  z-index: 2;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  -webkit-transition: all .6s;
  transition: all 0.6s;
  opacity: 0;
  animation: loading_scroll 0.6s ease-in-out 1.8s 1 alternate forwards;
}

@keyframes loading_scroll {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#fade.is_scroll .scroll_arrow {
  opacity: 1;
  animation: loading_scroll2 0.6s ease-in-out 1 alternate forwards;
}

@keyframes loading_scroll2 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
#fade .scroll_arrow a {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  height: 15rem;
  position: relative;
  display: block;
}

#fade .scroll_arrow a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -0.4rem;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  width: 0.1rem;
  height: 15rem;
  background-color: #262626;
  margin-top: 1.5rem;
  -webkit-transition: all .6s;
  transition: all 0.6s;
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@media screen and (max-width: 768px) {
  body #wrapper {
    min-width: 100%;
  }
  #top #fade.is_scroll .loading img {
    width: 15.6rem;
  }
  #fade .scroll_arrow a {
    font-size: 1.2rem;
    height: 9rem;
  }
  #fade .scroll_arrow a::before {
    left: -0.5rem;
    height: 9rem;
  }
  body #fade {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100 - 80px);
    z-index: 1000;
  }
  #fade #cover {
    width: 100%;
    padding-top: 177.7777%;
  }
}
/* 画像、テキスト振り分け
----------------------------------------- */
.spShow {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pcShow {
    display: none !important;
  }
  .spShow {
    display: block !important;
  }
  .spShow.br {
    display: inline;
  }
}
.twShow {
  display: none;
}

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

/* スペース
----------------------------------------- */
.mb0 {
  margin-bottom: 0 !important;
}

.mb1em {
  margin-bottom: 1em !important;
}

.mb2em {
  margin-bottom: 2em !important;
}

.mb3em {
  margin-bottom: 3em !important;
}

.mb4em {
  margin-bottom: 4em !important;
}

.mt1em {
  margin-top: 1em !important;
}

.mt2em {
  margin-top: 2em !important;
}

.mt3em {
  margin-top: 3em !important;
}

.mt4em {
  margin-top: 4em !important;
}

/* フォント
----------------------------------------- */
.fAbc {
  /*font-family: nimbus-sans, sans-serif;
  font-weight: 300;
  font-style: normal;*/
  /*
  Light 300
  Regular 400
  Medium 500
  Semi-bold 600
  Bold 700
  */
}

.textfAbc {
  font-family: "century-gothic", "Century Gothic", "CenturyGothic", "Noto Sans Japanese", sans-serif !important;
}

.fAbc {
  font-family: "century-gothic", "Century Gothic", "CenturyGothic", "Noto Sans Japanese", sans-serif;
  letter-spacing: 0.15em;
  /* font-weight: bold; フォント一時変更コメントアウト 復帰時letterspacingは削除 */
  /*font-style: italic;*/
  /*
  Light 300
  Regular 400
  Medium 500
  Semi-bold 600
  Bold 700
  */
}

.fAbc2 {
  font-family: "century-gothic", "Century Gothic", "CenturyGothic", "Noto Sans Japanese", sans-serif !important;
	/* font-family: linotype-didot, serif; フォント復帰用 */
	font-weight: 400;
	/* font-style: italic; */
/*
Light 300
Regular 400
Medium 500
Semi-bold 600
Bold 700
*/
}

.fSora {
  font-family: "解ミン 宙 B", "Kaimin Sora Bold", sans-serif;
}

.fMin {
  font-family: "游明朝", Yu Mincho, "Noto Serif", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.fGot {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

/* 文字
----------------------------------------- */
.bold {
  font-weight: bold !important;
}

.fwNormal {
  font-weight: normal;
}

.fs12 {
  font-size: 1.2rem;
}

.fs13 {
  font-size: 1.3rem;
}

.fs14 {
  font-size: 1.4rem;
}

.fs15 {
  font-size: 1.5rem;
}

.fs16 {
  font-size: 1.6rem;
}

.fs17 {
  font-size: 1.7rem;
}

.fs18 {
  font-size: 1.8rem;
}

.fs19 {
  font-size: 1.9rem;
}

.fs21 {
  font-size: 2.1rem;
}

.fs22 {
  font-size: 2.2rem;
}

.fs24 {
  font-size: 2.4rem;
}

.fs26 {
  font-size: 2.6rem;
}

.fs28 {
  font-size: 2.8rem;
}

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

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

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

/*float*/
.fL {
  float: left;
}

.fR {
  float: right;
}

.fc_pink {
  color: #e7243e;
}

.red {
  color: #fb2501 !important;
  font-weight: bold;
}

/* 文字間隔
----------------------------------------- */
.ls50 {
  letter-spacing: 0.05em !important;
}

.ls100 {
  letter-spacing: 0.1em !important;
}

.ls150 {
  letter-spacing: 0.15em !important;
}

.ls200 {
  letter-spacing: 0.2em !important;
}

/* flexCover
----------------------------------------- */
.flexCover {
  /*overflow: hidden;*/
  display:-webkit-box;
  display:-moz-box;
  display:-ms-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:-ms-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  justify-content: space-between;
}

.flexCover.colum2 > li {
  width: 48%;
}

.flexCover.colum73 > li.txt {
  width: 68%;
}

.flexCover.colum73 > li.img {
  width: 30%;
}

.flexCover.colum3 > li {
  width: 32%;
}

.flexCover.colum3::after {
  content: "";
  display: block;
  width: 32%;
}

.flexCover.colum4 > li {
  width: 23.5%;
}

.flexCover.colum4::before {
  content: "";
  display: block;
  width: 23.5%;
  order: 1;
}

.flexCover.colum4::after {
  content: "";
  display: block;
  width: 23.5%;
}

.flexCover.colum5 > li {
  width: 20%;
}

.flexCover.colum6 > li {
  width: 15%;
}

.flexCover.colum1 > li {
  width: 100%;
}

/*.flexCover li img,
.flexCover li.txt{
	width: 100%;
	height: auto;
}*/
.flexCover.flexS {
  justify-content: flex-start;
}

@media screen and (max-width: 768px) {
  .flexCover.colum2 > li {
    width: 100%;
    margin-bottom: 2rem;
  }
  .flexCover.colum3 > li {
    width: 100%;
    margin-bottom: 2rem;
  }
  .columBox.colum2 > li {
    width: 100%;
  }
  .flexCover.colum4 > li {
    width: 48%;
    margin-bottom: 3rem;
  }
  .flexCover.colum6 > li {
    width: 48%;
    margin-bottom: 3rem;
  }
  .flexCover.colum73 > li.txt {
    width: 100%;
    margin-bottom: 3rem;
  }
  .flexCover.colum73 > li.img {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.column2_wrap > li.left_navi {
  width: 100%;
  max-width: 175px;
}

.column2_wrap > li.main_con {
  width: 100%;
  max-width: 680px;
}

.column2_wrap > li.left_navi h3 {
  font-size: 1.4rem;
  border-bottom: 1px solid #404040;
  padding-bottom: 1em;
  margin-bottom: 2em;
}

.column2_wrap > li.left_navi .categories li {
  font-size: 1.4rem;
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  .column2_wrap > li.left_navi {
    width: 100%;
    max-width: 100%;
    margin-bottom: 40px;
  }
  .column2_wrap > li.main_con {
    width: 100%;
    max-width: 100%;
  }
}
/* header .fixed
----------------------------------------- */
/*header .fixed{
	position: fixed;
	width: 100%;
}
	@media screen and (max-width: 768px) {
		header .fixed{
			position: static;
		}
	}*/
/* header
----------------------------------------- */

#init_loading img {
  width: 5.8rem;
  height: auto;
}

#sts_loading img {
  width: 6.2rem;
  height: auto;
}

.drawer-overlay {
  position: fixed;
  z-index: 102;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(45, 42, 43, 0.9);
}

.drawer-open {
  overflow: hidden !important;
}



@media screen and (max-width: 768px) {

  #init_loading img {
    width: 5.8rem;
  }
  #g_navi_wrap {
    height: 6rem;
    /*transform: translateY(0);*/
  }
  #g_navi_wrap .g_navi {
    padding-right: 0;
  }
  #g_navi_wrap .g_navi .logo {
    width: 17.2rem;
  }
  #g_navi_wrap .navigation {
    display: none;
  }
  #g_navi_wrap .g_navi .instagram {
    display: none;
  }
  #g_navi_wrap .g_navi .online_store {
    display: none;
  }
  #g_navi_wrap .logo {
    width: 6rem;
  }
  #g_navi_wrap .navi_wrap {
    display: none;
  }
  /* .drawer--right .drawer-hamburger {
    width: 3.2rem;
    height: 5.5rem;
  } */
  /* .drawer .drawer-hamburger-icon, .drawer .drawer-hamburger-icon:before, .drawer .drawer-hamburger-icon:after {
    max-width: 3.2rem;
    height: 0.1rem;
  } */

  .drawer-nav form.form {
    width: 100%;
    display: inline-flex;
  }
  .drawer-nav .form_txt {
    width: 26rem;
    margin-right: 1rem;
  }
  .drawer-nav .form_submit {
    width: 8rem;
    height: 4rem;
    margin-top: 0;
  }
}

/* .pure-drawer カスタマイズ
----------------------------------------- */
.pure-drawer ul {
  padding: 20px;
  margin-top: 120px;
}

.pure-drawer li {
  padding-bottom: 20px;
}

.pure-drawer li img {
  width: auto;
  max-width: 100%;
}

/* layout
----------------------------------------- */
main {
  display: block;
}

#conWrap {
  clear: both;
  padding: 0px;
  position: relative;
  overflow: hidden;
}

#conWrap section {
  position: relative;
}

#conWrap .inner {
  width: -webkit-calc(1340 / 1400 * 100%);
  width: 95.7142857143%;
  /*width: 100%;*/
  max-width: 134rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  padding-bottom: 0;
  -webkit-transition: all .6s;
  transition: all 0.6s;
}

.f_red {
  font-size: 3.8rem;
  font-weight: bold;
  color: #c36363;
}

.highlight {
  position: relative;
  z-index: 1;
}

.highlight::before {
  content: "";
  display: block;
  width: 100%;
  height: 1rem;
  background-color: #FFF000;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

#foot_con_navi_wrap {
  padding-top: 12rem;
}

#foot_con_navi_wrap .foot_con_navi_list > li {
	width: -webkit-calc(507 / 1080 * 100%);
  width : calc(507 / 1080 * 100%);
}

#foot_con_navi_wrap .foot_con_navi_list > li a {
  width: 100%;
  height: 33rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

#foot_con_navi_wrap .foot_con_navi_list > li a.online_store_navi {
  background-image: url(../images/online_store_bg.svg);
}

#foot_con_navi_wrap .foot_con_navi_list > li a.contact_navi {
  background-image: url(../images/contact_bg.svg);
}

#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap {
  margin-top: 4.5rem;
}
#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap h2 {
  font-size: 3rem;
  color: #FCFCFC;
  text-align: center;
}

#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap .icon_wrap {
  height: 15rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap .txt_wrap {
  color: #FCFCFC;
  text-align: center;
}


.fx_bg_sp {
  display: none;
}

@media screen and (max-width: 768px) {
  #layout {
    padding-right: 0;
  }
  #layout::after {
    display: none;
  }
  main {
    width: 100%;
  }
  #conWrap .inner {
    width: 35rem;
  }
  section .con_ttl {
    font-size: 2.2rem;
    line-height: 1.4;
    margin-bottom: 4rem;
  }

#foot_con_navi_wrap {
	padding-top: 6rem;
}

#foot_con_navi_wrap .foot_con_navi_list > li {
	width: 100%;
	margin-bottom: 2rem;
}
#foot_con_navi_wrap .foot_con_navi_list > li:last-child {
	margin-bottom: 0;
}
#foot_con_navi_wrap .foot_con_navi_list > li a {
	width: 100%;
	height: 21.2rem;
	background-size: contain;
}
#foot_con_navi_wrap .foot_con_navi_list > li a.online_store_navi {
	background-image: url(../images/online_store_bg.svg);
}
#foot_con_navi_wrap .foot_con_navi_list > li a.contact_navi {
	background-image: url(../images/contact_bg.svg);
}

#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap {
	margin-top: 4.0rem;
}
#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap h2 {
	font-size: 2.0rem;
}
#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap .icon_wrap {
	height: 8rem;
}
#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap .icon_wrap img {
	height: 6rem;
}
#foot_con_navi_wrap .foot_con_navi_list > li .navi_wrap .txt_wrap {
	font-size: 1.2rem;
}


.fx_bg_sp {
  z-index: -1;
}

.attachment {
position: absolute;
  left: 0;
  top: 0;
  display: block;
  height: 100%;
  width: 100%;
}
.clip {
  position: relative;
  overflow: hidden;
  clip-path: inset(0 0 0 0);
  height: 100%;
}

.clip img {
  position: fixed;
  width: 100%;
  max-width: none;
  min-height: 100vh;
  height: auto;
  left: 50%;
  top: 0;
  transform: translate(-50%,0);
  pointer-events: none;
}
}
section h1.ttl {
  text-align: center;
  margin-bottom: 3rem;
}

section h1.ttl span {
  font-size: 1.7rem;
  line-height: 1;
  display: block;
}

section h2.ttl {
  text-align: left;
  left: 0.2em;
  margin-bottom: 4rem;
}

section h2.ttl span {
  display: block;
}

section h2.ttl .jp {
  font-size: 2.4rem;
  margin-left: -0.5rem;
}

section h2.ttl .en {
  font-size: 1.2rem;
  color: #999999;
}

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: 1rem 2rem 1.2rem;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 500;
  font-style: normal;
  color: #ffffff !important;
  box-sizing: border-box;
  background-color: #76491c;
  border: 0.1rem solid #76491c;
  border-radius: 1rem;
  -webkit-transition: all .6s;
  transition: all 0.6s;
}

.btn.s_size {
  padding: 1rem 2rem 1.2rem;
  font-size: 1.8rem;
}

.btn:hover {
  background-color: #ba9a7a;
  border: 0.1rem solid #ba9a7a;
  color: #FCFCFC;
  opacity: 1;
}

.btn:hover span::after {
  background-color: #FCFCFC;
  right: -1rem;
}

.btn.wht {
  color: #FCFCFC;
  border: 0.1rem solid #FCFCFC;
}

.btn.wht span::after {
  background-color: #FCFCFC;
}

.btn.wht:hover {
  background-color: #FCFCFC;
  color: #262626;
  opacity: 1;
}

.btn.wht:hover span::after {
  background-color: #262626;
  right: -1rem;
}

.btn.gld {
  color: #aa854e;
  border: 0.1rem solid #aa854e;
  background-color: #FCFCFC;
}

.btn.gld span::after {
  background-color: #aa854e;
}

.btn.gld:hover {
  background-color: #aa854e;
  color: #FCFCFC;
  opacity: 1;
}

.btn.gld:hover span::after {
  background-color: #FCFCFC;
  right: -1rem;
}

.b_over {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.b_over::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: -1;
}

#page_ttl_wrap {
  width: 100%;
  height: 45rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

#page_ttl_wrap.s_size {
  height: 25rem;
}

#page_ttl_wrap .inner {
  width: 100%;
  height: 100%;
  max-width: none;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

#page_ttl_wrap h1.ttl {
  margin: 0;
}

@media screen and (max-width: 768px) {
  #page_ttl_wrap {
    height: 29rem;
    padding: 1.5rem;
  }
  #page_ttl_wrap.s_size {
    height: 18rem;
  }
  .btn span {
    font-size: 1.4rem;
  }
  section h1.ttl {
    margin-bottom: 3rem;
  }
  section h1.ttl .jp {
    font-size: 2.2rem;
    margin-left: -0.3rem;
  }
  section h1.ttl .en {
    font-size: 1.2rem;
  }
  section h2.ttl {
    margin-bottom: 2rem;
  }
  section h2.ttl .jp {
    font-size: 2rem;
    margin-left: -0.3rem;
  }
  section h2.ttl .en {
    font-size: 1.2rem;
  }
  .btn[target=_blank]::after {
    width: 1.3rem;
    height: 1.2rem;
    margin-left: 0.5rem;
  }
}
/* modal
----------------------------------------- */
#item .remodal-wrapper {
  z-index: 999999;
}

.modal_con {
  width: 100%;
  max-width: 66rem;
  padding: 4rem;
  margin: auto;
  background-color: #FCFCFC;
}

.modal_con_list {
  width: 100%;
}

.modal_con_list > li.img {
  width: -webkit-calc(170 / 580 * 100%);
	width : calc(170 / 580 * 100%);
  text-align: center;
}

.modal_con_list > li.img img.fukuinoaji {
  width: 7.3rem;
  height: auto;
}

.modal_con_list > li.img img.smile_care {
  width: 12rem;
  height: auto;
}

.modal_con_list > li.txt {
  width: -webkit-calc(410 / 580 * 100%);
	width : calc(410 / 580 * 100%);
}

.modal_con_list h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.modal_con_list .txt_wrap {
  font-size: 1.3rem;
}

@media screen and (max-width: 768px) {
  .modal_con {
    height: 70vh;
    overflow: auto;
  }
  .modal_con_list > li.img {
    width: 100%;
    text-align: center;
    margin-bottom: 2rem;
  }
  .modal_con_list > li.img img.fukuinoaji {
    width: 7.3rem;
    height: auto;
  }
  .modal_con_list > li.img img.smile_care {
    width: 12rem;
    height: auto;
  }
  .modal_con_list > li.txt {
    width: 100%;
  }
  #item .remodal-close {
    top: -50px;
  }
}
/* footer
----------------------------------------- */
footer {
  position: relative;
  z-index: 101;
  width: 100%;
  overflow: hidden;
}

footer > .inner {
  width: 100%;
  margin: auto;
  position: relative;
  padding-top: 6rem;
  padding-bottom: 4rem;
  text-align: center;
}

footer .form_txt {
  width: 52.5rem;
}

footer .newsletter_wrap .ttl {
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
  margin-bottom: 2rem;
}

footer .navigation {
  justify-content: center;
  margin-top: 5rem;
}

footer .navigation > li {
  line-height: 1;
  margin: 0 2rem 2rem 2rem;
}

footer .navigation a {
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  position: relative;
  color: #555;
}


/*footer .navigation a::after {
	content: "";
    display: block;
    width: 100%;
    height: 0.1rem;
    background-color: #262626;
	position: absolute;
	bottom: -0.5rem;
	left: 0;

	transition: all .6s;
    transform: scale(0, 1);
    transform-origin: left top;
}
footer .navigation a:hover::after {
    transform: scale(1, 1);
}*/
/*footer .navigation > li:last-child a::after {
	display: none;
}*/
footer .copyright {
  text-align: center;
  margin-top: 4rem;
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1;
}

#page_top {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(0, 0);
  z-index: 9999999;
  transition: all 0.6s;
}

#page_top:hover {
  top: -1rem;
}

#page_top a {
  display: block;
}

@media screen and (max-width: 768px) {

  footer .form_txt {
    width: 100%;
  }
  footer .newsletter_wrap .ttl {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}
/* #breadcrumbs
----------------------------------------- */
#breadcrumbs {
  /* display: flex; */
  display: none;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: auto;
  padding: 1.1rem 0;
}

body.single #breadcrumbs {
  background-color: transparent;
}

#breadcrumbs > span {
  width: -webkit-calc(1200 / 1400 * 100%);
  width: calc(1200 / 1400 * 100%);
  margin: auto;
}

#breadcrumbs span {
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  color: #262626;
  padding: 0;
  text-align: left;
  -webkit-transition: all .6s;
  transition: all 0.6s;
}

#breadcrumbs span.arrow {
  padding: 0 1rem;
}

#breadcrumbs span.breadcrumb_last {
  color: #a5a5a5;
}

#breadcrumbs a {
  color: #262626 !important;
  -webkit-transition: all .6s;
  transition: all 0.6s;
}

#breadcrumbs a:hover {
  color: #a5a5a5 !important;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  #breadcrumbs {
    padding-top: 0;
  }
  body.single #breadcrumbs {
    padding-top: 0;
  }
  #breadcrumbs > span {
    width: -webkit-calc(315 / 375 * 100%);
    width: calc(315 / 375 * 100%);
    margin: auto;
  }
  #breadcrumbs span {
    font-size: 1.2rem;
  }
}
/* form
----------------------------------------- */
form.form {
  display: inline-flex;
}

.form_txt {
  height: 4rem;
  padding: 0 1.5rem;
  border: none;
  box-shadow: 0 0 0 1px #ccc inset;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  /*margin-right: 1rem;*/
  border-radius: 0;
}

.form_txt::-moz-placeholder {
  font-size: 1.8rem;
  font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
  font-weight: 200;
  font-style: italic;
}

.form_txt::placeholder {
  font-size: 1.8rem;
  font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
  font-weight: 200;
  font-style: italic;
}

.form_txt:focus {
  outline: 0;
  box-shadow: 0 0 0 1px #262626 inset;
}

.form_submit {
  font-size: 1.8rem;
  width: 15rem;
  height: 4rem;
  font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
  font-weight: 300;
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #262626;
  color: #fcfcfc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: all .6s;
  transition: all 0.6s;
}

.form_submit:hover {
  background-color: #262626;
}

.form_submit:focus {
  outline: 0;
  background-color: #262626;
  border: 1px solid #262626;
}

.form_checkbox input {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  margin: -1px;
}

.form_checkbox-name {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  color: #666;
  position: relative;
}

.form_checkbox-name:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 1px solid #ccc;
  border-radius: 3px;
  margin-right: 6px;
  flex-shrink: 0;
}

.form_checkbox input:checked + .form_checkbox-name:before {
  border: 1px solid rgb(33, 150, 243);
  background-color: rgb(33, 150, 243);
}

.form_checkbox input:checked + .form_checkbox-name:after {
  content: "";
  position: absolute;
  border: solid #fcfcfc;
  border-width: 0 2px 2px 0;
  left: 0.3em;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.4em;
  height: 0.6em;
  transform: translateY(-2px) rotate(45deg);
}

.form_checkbox input:checked + .form_checkbox-name {
  color: rgb(33, 150, 243);
}

.form_checkbox input:focus-visible + .form_checkbox-name .form_checkbox-text {
  background: linear-gradient(transparent 90%, rgba(33, 150, 243, 0.3) 90%);
}

.form_checkbox input.focus-visible + .form_checkbox-name .form_checkbox-text {
  background: linear-gradient(transparent 90%, rgba(33, 150, 243, 0.3) 90%);
}

@media screen and (max-width: 768px) {
  form.form {
    width: 100%;
    display: block;
  }
  .form_txt {
    height: 4rem;
    padding: 0 1.5rem;
    margin-right: 0;
  }
  .form_txt::-moz-placeholder {
    font-size: 1.6rem;
  }
  .form_txt::placeholder {
    font-size: 1.6rem;
  }
  .form_submit {
    font-size: 1.4rem;
    width: 100%;
    height: 3.6rem;
    margin-top: 1.5rem;
  }
}
.err_txt {
  background-color: #b22222 !important;
  font-size: 1.3rem !important;
  color: #fff !important;
  padding: 5px 10px !important;
  margin-top: 3px !important;
  width: 100% !important;
  line-height: 1.2 !important;
}

.info_txt {
  border: solid 1px #3cb371;
  border-radius: 2px;
  padding: 10px;
  color: #3cb371;
  font-size: 1.3rem;
  line-height: 1.5;
  margin: 30px 0;
}

.attention_txt {
  color: #b22222;
  font-size: 130%;
}

.no_scroll {
  overflow: hidden;
}

.form_require {
  margin-left: 5px;
  color: #b22222;
}

/* translate link */
.gtranslate_wrapper {
  display: none;
}

.gtranslate_wrapper .gt_switcher_wrapper {
  font-size: 90%;
  padding: 5px;
  background-color: #fcfcfc;
  box-shadow: 1px 1px 5px 1px #fcfcfc;
  z-index: 100 !important;
  display: none;
}/*# sourceMappingURL=common.css.map */