@charset "UTF-8";
/*===========================================================
このファイルはsassで編集されています。
cssを編集しないでください。
=============================================================*/
/*=====================================================================
リセットcssの設定
=======================================================================*/
html {
  color: #000;
  background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

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

fieldset, img {
  border: 0; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

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

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

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

/*===========================================================
全体の設定
=============================================================*/
img#fontplus-trial-banner {
  display: none !important; }

.container__540 {
  max-width: 100%;
  margin: 0 auto;
  width: 540px;
  padding-left: 35px;
  padding-right: 35px; }
  @media screen and (max-width: 768px) {
    .container__540 {
      max-width: 100%;
      width: 100%;
      padding-left: 6%;
      padding-right: 6%;
      word-wrap: break-word;
      overflow-wrap: break-word;
      overflow-x: hidden; } }

.relative {
  position: relative; }

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

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  line-break: auto; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

html {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 L"; }
  @media screen and (max-width: 768px) {
    html {
      min-width: 100%; } }

@media screen and (max-width: 768px) {
  html, body {
    width: 100%;
    font-size: 60%; } }

h1, h2, h3, h4, h5, h6, p {
  color: #000000;
  font-weight: 400;
  letter-spacing: .1rem; }

p {
  font-size: 1.5rem;
  text-align: justify; }

a {
  color: inherit;
  text-decoration: none;
  display: block; }
  a:active {
    text-decoration: none; }
  a:hover {
    text-decoration: none; }

img {
  max-width: 100%;
  height: auto; }

/*===========================================================
プラグインの設定
=============================================================*/
.center_top {
  margin: 0 0 0;
  width: 100%;
  height: 100vh; }
  .center_top img {
    width: 100%;
    height: 100vh;
    object-fit: cover; }

.center .slick-next {
  right: 20px;
  z-index: 99; }

.center .slick-prev {
  left: 15px;
  z-index: 100; }

.slide-animation {
  animation: fadezoom 10s 0s forwards; }

@keyframes fadezoom {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.05); } }
/*========= 背景動画設定のCSS ===============*/
/*header設定*/
#header {
  position: relative;
  /*ローディング画像などを表示す際の基点とするため指定*/
  height: 100vh;
  /*高さを全画面にあわせる*/
  text-align: center;
  color: #fff;
  /*ローディング画面時＆動画が表示されないときに表示する背景画像のレスポンシブ化*/
  background: url("../img/home/mv_sp.jpg") no-repeat 50% 50%;
  background-size: cover; }

/* ローディングアイコン設定 */
#loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold; }

/*jQueryで付与されたdisappearクラスがついたらロゴエリアを非表示*/
#loading.disappear {
  display: none; }

/* youtube設定 */
#youtube-area {
  position: absolute;
  z-index: 1;
  /*最背面に設定*/
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0; }

/*jQueryで付与されたappearクラスがついたらYoutubeエリアをふわっと表示*/
#youtube-area.appear {
  animation-name: PageAnimeAppear;
  animation-duration: .5s;
  animation-fill-mode: forwards; }

@keyframes PageAnimeAppear {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
#youtube {
  /*天地中央配置*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%) scale(1.5);
  /*縦横幅指定*/
  width: 177.77777778vh;
  /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw;
  /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%; }

/*youtubeがクリックされないためのマスク*/
#youtube-mask {
  position: absolute;
  z-index: 2;
  /*下から2番目に表示*/
  top: 0;
  width: 100%;
  height: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0);
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url(../img/back__amiten.png);
  background-repeat: repeat;
  background-size: cover;
  z-index: 2;
  position: absolute;
  content: ""; }

/*header設定*/
#brand__header {
  position: relative;
  /*ローディング画像などを表示す際の基点とするため指定*/
  height: 100vh;
  /*高さを全画面にあわせる*/
  text-align: center;
  color: #fff;
  /*ローディング画面時＆動画が表示されないときに表示する背景画像のレスポンシブ化*/
  background: url("../img/home/mv_sp.jpg") no-repeat 50% 50%;
  background-size: cover; }

/* ローディングアイコン設定 */
#brand__loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold; }

/*jQueryで付与されたdisappearクラスがついたらロゴエリアを非表示*/
#brand__loading.disappear {
  display: none; }

/* youtube設定 */
#brand__youtube-area {
  position: absolute;
  z-index: 1;
  /*最背面に設定*/
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0; }

/*jQueryで付与されたappearクラスがついたらYoutubeエリアをふわっと表示*/
#brand__youtube-area.appear {
  animation-name: PageAnimeAppear;
  animation-duration: .5s;
  animation-fill-mode: forwards; }

@keyframes PageAnimeAppear {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
#brand__youtube {
  /*天地中央配置*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%) scale(1.5);
  /*縦横幅指定*/
  width: 177.77777778vh;
  /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw;
  /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%; }

/*youtubeがクリックされないためのマスク*/
#brand__youtube-mask {
  position: absolute;
  z-index: 2;
  /*下から2番目に表示*/
  top: 0;
  width: 100%;
  height: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0);
  background-color: rgba(0, 0, 0, 0.3);
  background-image: url(../img/back__amiten.png);
  background-repeat: repeat;
  background-size: cover;
  z-index: 2;
  position: absolute;
  content: ""; }

.fluid {
  animation: fluidrotate 30s ease 0s infinite;
  /*アニメーションの設定*/ }

.fluid2 {
  animation: fluidrotate2 30s ease 0s infinite;
  /*アニメーションの設定*/ }

.fluid3 {
  animation: fluidrotate3 30s ease 0s infinite;
  /*アニメーションの設定*/ }

@keyframes fluidrotate {
  0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%; }
  14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%; }
  28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%; }
  42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%; }
  56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%; }
  70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%; }
  84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%; } }
@keyframes fluidrotate2 {
  0%, 100% {
    border-radius: 25% 50% 34% 66%/56% 68% 32% 44%; }
  14% {
    border-radius: 70% 39% 40% 55%/61% 38% 62% 39%; }
  28% {
    border-radius: 46% 60% 50% 50%/35% 61% 39% 65%; }
  42% {
    border-radius: 40% 72% 54% 46%/49% 60% 40% 51%; }
  56% {
    border-radius: 65% 42% 67% 33%/70% 50% 50% 30%; }
  70% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%; }
  84% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%; } }
@keyframes fluidrotate3 {
  0%, 100% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%; }
  14% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%; }
  28% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%; }
  42% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%; }
  56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%; }
  70% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%; }
  84% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%; } }
.eachTextAnime span {
  opacity: 0; }
.eachTextAnime .delay1 {
  animation-delay: .6s; }
.eachTextAnime .delay2 {
  animation-delay: 1.2s; }
.eachTextAnime .delay3 {
  animation-delay: .9s; }
.eachTextAnime .delay4 {
  animation-delay: 1.5s; }
.eachTextAnime.on span {
  -webkit-animation-name: blurAnime;
  animation-name: blurAnime;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }

@keyframes blurAnime {
  0% {
    -webkit-filter: blur(10px);
    filter: blur(10px);
    opacity: 0;
    perspective: 1000;
    -webkit-perspective: 1000;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; }
  100% {
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    perspective: 1000;
    -webkit-perspective: 1000;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; } }
.scroll_up {
  -webkit-transition: opacity 2s, -webkit-transform 2s;
  transition: opacity 2s, -webkit-transform 2s;
  transition: opacity 2s, transform 2s;
  transition: opacity 2s, transform 2s, -webkit-transform 2s;
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px); }
  .scroll_up.on {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  .scroll_up.delay1 {
    transition-delay: .3s; }
  .scroll_up.delay2 {
    transition-delay: .6s; }
  .scroll_up.delay3 {
    transition-delay: .9s; }
  .scroll_up.delay4 {
    transition-delay: 1.2s; }
  .scroll_up.delay5 {
    transition-delay: 1.5s; }

.front .copy p {
  overflow-y: hidden; }

.scroll_up.blur {
  transition: 1.7s;
  opacity: 0;
  transform: translate(0, 10px);
  -webkit-transform: translate(0, 10px);
  -webkit-filter: blur(10px);
  filter: blur(10px);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: inline-block; }
  .scroll_up.blur.on {
    transition: 1.7s;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; }
  .scroll_up.blur.delay1 {
    transition-delay: .3s; }
  .scroll_up.blur.delay2 {
    transition-delay: .6s; }
  .scroll_up.blur.delay3 {
    transition-delay: .9s; }
  .scroll_up.blur.delay4 {
    transition-delay: 1.2s; }
  .scroll_up.blur.delay5 {
    transition-delay: 1.5s; }

/*=====================================================================
ナビゲーション
=======================================================================*/
.nav_sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .nav_sp {
      display: block; } }
  .nav_sp .logo__main {
    top: 20px;
    left: 20px;
    width: 50px;
    position: fixed;
    z-index: 999; }
  .nav_sp .menu-trigger.top_fff span {
    background: #fff;
    transition: .8s;
    transition: 0; }
  .nav_sp .cart {
    width: 30px;
    position: fixed;
    z-index: 997;
    right: 20px;
    top: 62px;
    transition: .8s;
    z-index: 100; }
    .nav_sp .cart .cls-1 {
      stroke: #000;
      transition: .8s; }
    .nav_sp .cart.top_fff .cls-1 {
      stroke: #fff;
      transition: .8s; }
  .nav_sp.scroll_nav .menu-trigger.top_fff span {
    background: #000;
    transition: .8s; }
  .nav_sp.scroll_nav .cart .cls-1 {
    stroke: #000;
    transition: .8s; }

.gblnv_box {
  width: 100%;
  position: fixed;
  z-index: 999;
  display: block;
  top: 0;
  cursor: pointer;
  /*menu-triggerの設定-----------------------------------------------------*/ }
  .gblnv_box .onanimation {
    z-index: 998;
    opacity: 1;
    transition: all .4s;
    visibility: visible; }
    .gblnv_box .onanimation .online__sp p {
      color: #fff; }
  .gblnv_box .menu-trigger,
  .gblnv_box .menu-trigger span {
    display: inline-block;
    transition: all .2s;
    box-sizing: border-box; }
  .gblnv_box a.menu-trigger {
    position: fixed;
    right: 30px;
    top: 10px;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    z-index: 999;
    display: block;
    /*1. 中央のラインが消え、上下のラインでクローズボタンに*/ }
    @media screen and (max-width: 768px) {
      .gblnv_box a.menu-trigger {
        right: 16px; } }
    .gblnv_box a.menu-trigger span {
      position: absolute;
      width: 28px;
      height: 1px;
      background-color: #000;
      left: 4px;
      top: 50%;
      transition: all 300ms ease-out; }
      .gblnv_box a.menu-trigger span:nth-of-type(1) {
        margin-top: -7px; }
      .gblnv_box a.menu-trigger span:nth-of-type(3) {
        margin-top: 7px; }
      .gblnv_box a.menu-trigger span:nth-of-type(4) {
        margin-top: -7px;
        transform: translateY(7px) rotate(45deg);
        background-color: #000 !important;
        opacity: 0;
        transition-delay: 0;
        transition: 0; }
      .gblnv_box a.menu-trigger span:nth-of-type(5) {
        margin-top: 7px;
        transform: translateY(-7px) rotate(-45deg);
        background-color: #000 !important;
        opacity: 0;
        transition-delay: 0;
        transition: 0; }
    .gblnv_box a.menu-trigger.active span:nth-of-type(1) {
      opacity: 0;
      transform: scale(0, 1);
      transform-origin: center top; }
    .gblnv_box a.menu-trigger.active span:nth-of-type(2) {
      opacity: 0;
      transform: scale(0, 1);
      transform-origin: center top; }
    .gblnv_box a.menu-trigger.active span:nth-of-type(3) {
      opacity: 0;
      transform: scale(0, 1);
      transform-origin: center top; }
    .gblnv_box a.menu-trigger.active span:nth-of-type(4) {
      opacity: 1;
      transition-delay: .2s; }
    .gblnv_box a.menu-trigger.active span:nth-of-type(5) {
      opacity: 1;
      transition-delay: .2s; }
@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes menu {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.gblnv_block {
  opacity: 0;
  z-index: -1;
  background-color: #fff;
  color: #fff;
  position: absolute;
  right: 0;
  height: 100vh;
  padding: 30px 0 0;
  width: 100%;
  transition: all .4s;
  visibility: hidden; }
  .gblnv_block ul {
    padding: 0;
    margin: 0;
    width: 100%; }
    .gblnv_block ul li {
      cursor: pointer;
      translate: 10px 0;
      opacity: 0; }
      .gblnv_block ul li:nth-of-type(1) {
        transition-delay: .17s; }
      .gblnv_block ul li:nth-of-type(2) {
        transition-delay: .28s; }
      .gblnv_block ul li:nth-of-type(3) {
        transition-delay: .39s; }
      .gblnv_block ul li:nth-of-type(4) {
        transition-delay: .5s; }
      .gblnv_block ul li:nth-of-type(5) {
        transition-delay: .61s; }
      .gblnv_block ul li:nth-of-type(6) {
        transition-delay: .72s; }
      .gblnv_block ul li i.fa.fa-chevron-down {
        position: absolute;
        right: 15px;
        top: 11px;
        color: #000000; }
      .gblnv_block ul li a {
        font-size: 6vw;
        color: #000000;
        padding: 16px 0;
        letter-spacing: .2rem;
        font-family: "Cormorant Garamond", serif;
        font-weight: 600;
        display: inline-block;
        position: relative; }
      .gblnv_block ul li ul.sub-menu {
        display: none;
        height: auto;
        position: relative;
        top: -10px; }
        .gblnv_block ul li ul.sub-menu li a {
          font-size: 3.5vw;
          padding-top: 7px;
          padding-bottom: 0;
          font-family: "FOT-筑紫Bオールド明朝 Pr6 D"; }
  .gblnv_block .sns {
    position: absolute;
    top: 60px;
    right: 11px;
    width: 50px; }
    .gblnv_block .sns a {
      height: 25px;
      margin: 25px auto;
      translate: 10px 0;
      opacity: 0; }
      .gblnv_block .sns a img {
        width: 100%;
        height: 100%; }
      .gblnv_block .sns a:nth-of-type(1) {
        transition-delay: .17s; }
      .gblnv_block .sns a:nth-of-type(2) {
        transition-delay: .28s; }
      .gblnv_block .sns a:nth-of-type(3) {
        transition-delay: .39s; }
  .gblnv_block .container__540 {
    padding-left: 10%;
    padding-right: 10%; }
  .gblnv_block .online__sp {
    opacity: 0; }

.onanimation .gblnv_block_wrap li {
  translate: 0;
  opacity: 1;
  transition: opacity .85s ease,translate .85s ease; }
.onanimation .sns a {
  translate: 0;
  opacity: 1;
  transition: opacity .85s ease,translate .85s ease; }
.onanimation .online__sp {
  opacity: 1;
  transition: .85s; }

.plus.icon {
  color: #000;
  position: absolute;
  display: inline-block;
  transition: .2s;
  transition: .2s;
  right: -5px;
  top: 50%;
  transform: translateX(-50%); }
  .plus.icon.changed:before {
    opacity: 0;
    transition: .2s; }
  .plus.icon.changed:after {
    transition: .2s;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }

.plus.icon:before {
  content: '';
  position: absolute;
  width: 10px;
  height: 1px;
  background-color: currentColor; }

.plus.icon:after {
  content: '';
  position: absolute;
  width: 10px;
  height: 1px;
  transition: .2s;
  background-color: currentColor;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg); }

/*=====================================================================
共通
=======================================================================*/
.fixed__left {
  background: #e2ecec;
  position: fixed;
  z-index: 1;
  top: 0;
  height: 100vh;
  width: calc(100% / 3); }
  @media screen and (max-width: 768px) {
    .fixed__left {
      display: none; } }
  .fixed__left .center {
    top: 50px;
    width: 65%;
    max-width: 300px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%); }
    .fixed__left .center .logo {
      margin-bottom: 30px;
      position: relative;
      left: -10px; }
    .fixed__left .center nav ul {
      margin-top: 35px; }
      .fixed__left .center nav ul li {
        font-size: 2.5rem;
        padding: 12px 0;
        letter-spacing: .2rem;
        font-family: "Cormorant Garamond", serif;
        font-weight: 600;
        cursor: pointer; }
        .fixed__left .center nav ul li a {
          position: relative;
          display: inline-block; }
        .fixed__left .center nav ul li a::after {
          position: absolute;
          bottom: 0;
          left: 0;
          content: '';
          width: 0;
          height: 1px;
          background-color: #333;
          transition: .3s; }
        .fixed__left .center nav ul li a:hover::after {
          width: 100%; }
        .fixed__left .center nav ul li ul.sub-menu {
          display: none;
          height: auto;
          margin-top: 0; }
          .fixed__left .center nav ul li ul.sub-menu li {
            font-size: 1.5rem;
            padding-top: 10px;
            padding-bottom: 0;
            font-family: "FOT-筑紫Bオールド明朝 Pr6 D"; }
    .fixed__left .center .sns {
      margin-top: 150px; }
      .fixed__left .center .sns a {
        height: 30px;
        margin-right: 40px; }
        .fixed__left .center .sns a img {
          width: 100%;
          height: 100%; }
  .fixed__left .online__sp {
    width: calc(100% / 3); }
    .fixed__left .online__sp img {
      height: 100%; }

.fixed__right {
  background: #fff;
  position: fixed;
  z-index: 100;
  right: 0;
  top: 0;
  height: 100vh;
  width: calc(100% / 3); }
  @media screen and (max-width: 768px) {
    .fixed__right {
      display: none; } }

.main__contents {
  width: calc(100% / 3);
  z-index: 99;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .main__contents {
      width: 100%;
      position: static; } }

.online {
  position: relative;
  top: -3vw; }
  @media screen and (max-width: 768px) {
    .online {
      top: -10vw; } }
  .online .container__540 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); }
    .online .container__540 a svg, .online .container__540 a img {
      width: 6px;
      position: relative;
      left: 0;
      transition: .3s; }
    .online .container__540 a p {
      font-size: 2rem;
      color: #fff;
      font-family: "Cormorant Garamond", serif;
      font-weight: 600;
      letter-spacing: .2rem;
      transition: .3s; }
    .online .container__540 a:hover p {
      letter-spacing: .3rem;
      transition: .3s; }
    .online .container__540 a:hover img {
      left: 4px; }

.online__sp {
  position: fixed;
  bottom: 0; }
  .online__sp img {
    vertical-align: bottom; }
  .online__sp .container__540 {
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%); }
    .online__sp .container__540 a svg, .online__sp .container__540 a img {
      width: 6px;
      position: relative;
      left: 0;
      transition: .3s; }
    .online__sp .container__540 a p {
      font-size: 2rem;
      color: #fff;
      font-family: "Cormorant Garamond", serif;
      font-weight: 600;
      letter-spacing: .2rem; }
    .online__sp .container__540 a:hover p {
      letter-spacing: .3rem;
      transition: .3s; }
    .online__sp .container__540 a:hover img {
      left: 4px; }

.btn {
  font-size: 1.5rem;
  display: inline-block;
  border-bottom: 1px solid;
  font-weight: 600;
  padding-bottom: 5px;
  margin-top: 10px;
  font-family: "FOT-筑紫Bオールド明朝 Pr6 D";
  position: relative;
  display: inline-block;
  text-decoration: none;
  transition: .3s; }
  .btn:hover {
    letter-spacing: .1rem;
    transition: .3s; }

/*=====================================================================
footer
=======================================================================*/
.footer {
  background: #000000;
  text-align: center;
  position: relative;
  padding-top: 6.5vw;
  margin-top: 15vw; }
  @media screen and (max-width: 768px) {
    .footer {
      margin-top: 60vw;
      padding-top: 10vw; } }
  .footer .online {
    position: absolute;
    top: -10vw; }
    @media screen and (max-width: 768px) {
      .footer .online {
        top: -40vw; } }
  .footer .d-flex .left {
    width: 45%; }
  .footer .d-flex .right {
    width: 55%; }
  .footer .d-flex p {
    font-size: 1.2rem;
    color: #fff; }
  .footer .d-flex .right {
    padding-top: 0px; }
    .footer .d-flex .right a {
      height: 20px;
      margin: 0 12px; }
      .footer .d-flex .right a img {
        height: 100%; }
  .footer ul {
    margin: 10px 0 20px; }
    .footer ul li {
      font-size: 1.2rem;
      color: #fff;
      text-align: left;
      line-height: 1.5; }
  .footer .copyright {
    background: #fff;
    padding: 10px 0; }
    .footer .copyright p {
      font-size: 1rem;
      font-family: "Cormorant Garamond", serif;
      letter-spacing: 0.05rem;
      text-align: center; }

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: auto;
  z-index: 100;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    #page-top {
      width: 30px; } }

/*=====================================================================
TOP
=======================================================================*/
.front .slide {
  height: 100vh;
  opacity: 0; }
  .front .slide .fixed {
    position: fixed;
    z-index: -1;
    width: calc(100% / 3); }
    @media screen and (max-width: 768px) {
      .front .slide .fixed {
        width: 100%; } }
  .front .slide.on {
    transition: .8s;
    opacity: 1; }
.front .kv_copy {
  height: 100%;
  margin-bottom: 200px; }
  .front .kv_copy .center {
    width: auto;
    height: 90%;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 0; }
    .front .kv_copy .center h2 {
      font-size: 2.8rem;
      letter-spacing: 1.8rem;
      font-family: "FOT-筑紫Bオールド明朝 Pr6 R";
      color: #fff; }
.front .bg__white {
  background: #fff; }
.front .logo__main {
  display: none; }
  @media screen and (max-width: 768px) {
    .front .logo__main {
      display: block;
      width: 50px;
      top: 20px;
      left: 20px; } }
.front h2 {
  text-align: center;
  margin-bottom: 50px;
  color: #000000;
  font-size: 3rem;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: .2rem;
  font-weight: 500; }
.front .bg__main {
  background: #ededed; }
.front .copy {
  text-align: center;
  height: 100vh; }
  .front .copy p {
    margin: 0 auto;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 3;
    font-size: 1.7rem;
    letter-spacing: .15rem;
    display: inline-block;
    width: auto;
    color: #fff;
    font-family: "FOT-筑紫Bオールド明朝 Pr6 D"; }
.front .content {
  padding: 100px 0; }
.front .back__top {
  vertical-align: bottom; }
.front .back__bottom, .front .back__bottom__fff {
  margin-bottom: 500px;
  vertical-align: bottom; }
.front .about {
  padding-bottom: 150px;
  padding-top: 0; }
  .front .about .online {
    top: -5vw; }
    @media screen and (max-width: 768px) {
      .front .about .online {
        top: -15vw; } }
  .front .about h3 {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 20px;
    font-family: "FOT-筑紫Bオールド明朝 Pr6 R"; }
.front .contents {
  padding-bottom: 100px; }
  .front .contents ul li {
    margin-bottom: 50px; }
    .front .contents ul li a {
      width: 100%;
      text-align: center; }
      .front .contents ul li a .shape {
        background: #aaa;
        width: 100%;
        position: relative;
        overflow: hidden; }
        .front .contents ul li a .shape::before {
          content: "";
          padding-top: 100%;
          display: block; }
        .front .contents ul li a .shape img {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          object-fit: cover; }
      .front .contents ul li a .back {
        background: #fff;
        padding: 10px;
        border-radius: 20px;
        text-align: center; }
      .front .contents ul li a h3 {
        font-size: 2rem;
        font-family: "FOT-筑紫Bオールド明朝 Pr6 R";
        text-align: center;
        margin-top: 20px; }
        .front .contents ul li a h3 span {
          display: block;
          margin-top: 5px;
          font-size: 1.5rem; }
      .front .contents ul li a h3 {
        position: relative;
        display: inline-block; }
      .front .contents ul li a h3::after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: '';
        width: 0;
        height: 1px;
        background-color: #333;
        transition: .3s; }
      .front .contents ul li a:hover h3::after {
        width: 100%; }
.front .wrap {
  padding: 80px 20px;
  margin-bottom: 70px;
  position: relative; }
  .front .wrap .back__blog {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10; }
  .front .wrap .wrap_contents {
    position: relative;
    z-index: 20;
    padding: 0 4%; }
  .front .wrap h3 {
    font-size: 2rem;
    margin-bottom: 30px;
    text-align: center;
    font-family: "FOT-筑紫Bオールド明朝 Pr6 R"; }
  .front .wrap h4 {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-top: 3px; }
  .front .wrap ul li {
    width: 48%;
    margin-bottom: 20px; }

.shop h2 {
  text-align: center;
  margin-bottom: 20px;
  color: #000000;
  font-size: 3.2rem !important;
  font-family: "Cormorant Garamond", serif !important;
  letter-spacing: 0.2rem !important;
  font-weight: 500 !important; }
.shop iframe {
  margin: 25px 0;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%); }
.shop .text p {
  font-size: 1.5rem !important; }

.address h3, .address a, .address p {
  font-size: 1.5rem !important;
  text-align: center !important; }
.address h3 {
  margin-bottom: 0 !important; }
.address p {
  margin-bottom: 10px !important; }

iframe.gmap__mono {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%); }

/*=====================================================================
page
=======================================================================*/
.logo__main {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 70px;
  z-index: 100; }

.page {
  padding-bottom: 100px; }
  .page .editor h1 {
    font-size: 2.5rem;
    margin-bottom: 50px;
    text-align: left; }
  .page .editor h2 {
    font-size: 2.3rem;
    margin-bottom: 10px; }
  .page .editor p {
    font-size: 1.8rem; }
  .page .editor img {
    max-width: 100%;
    margin: 15px 0; }
  .page .editor .date {
    font-size: 1.8rem;
    margin-bottom: 5px;
    font-family: "Cormorant Garamond", serif; }
  .page .back__bottom {
    margin-bottom: 40px; }

.kv {
  width: 100%;
  height: 200px;
  position: relative;
  background: #ededed; }
  .kv h2 {
    font-size: 2.8rem;
    text-align: center;
    width: 90%;
    z-index: 10;
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
    letter-spacing: .2rem; }
  .kv .center {
    top: 60%; }

#brand .kv, #brand .video__area {
  width: calc(100% / 3);
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: -1;
  margin-bottom: 0;
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 768px) {
    #brand .kv, #brand .video__area {
      width: 100%; } }
  #brand .kv:before, #brand .video__area:before {
    background-color: rgba(0, 0, 0, 0.3);
    background-image: url(../img/back__amiten.png);
    background-repeat: repeat;
    background-size: cover;
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    content: ""; }
#brand .slide .fixed {
  position: fixed;
  z-index: -1;
  width: calc(100% / 3); }
  @media screen and (max-width: 768px) {
    #brand .slide .fixed {
      width: 100%; } }
  #brand .slide .fixed:before {
    background-color: rgba(0, 0, 0, 0.3);
    background-image: url(../img/back__amiten.png);
    background-repeat: repeat;
    background-size: cover;
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    content: ""; }
#brand .kv__title {
  width: 100%;
  height: 100vh; }
  #brand .kv__title h2 {
    font-size: 2.8rem;
    text-align: center;
    width: 90%;
    z-index: 10;
    font-family: "FOT-筑紫Bオールド明朝 Pr6 R";
    font-weight: 600;
    letter-spacing: .2rem; }
  #brand .kv__title .center {
    width: auto;
    height: 90%;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 0;
    color: #fff; }
    #brand .kv__title .center span.sub {
      font-size: 1.6rem;
      left: -0.5px;
      position: relative;
      margin-bottom: 5px;
      color: #fff; }
    #brand .kv__title .center b {
      writing-mode: lr;
      margin: 12px 0 20px; }
#brand .page {
  padding-top: 100px; }
  @media screen and (max-width: 768px) {
    #brand .page {
      margin-top: 50px; } }
#brand .editor h2 {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  color: #fff; }
  #brand .editor h2 span {
    display: block;
    font-size: 3.2rem;
    margin-top: 5px;
    font-family: "Cormorant Garamond", serif;
    letter-spacing: .2rem; }
#brand .editor h3 {
  font-size: 2.5rem;
  font-family: "FOT-筑紫Bオールド明朝 Pr6 R"; }
#brand .editor h3, #brand .editor h4, #brand .editor h5, #brand .editor h6 {
  color: #fff; }
#brand .editor p {
  line-height: 1.6;
  font-weight: 600;
  font-size: 1.5rem;
  color: #fff; }
#brand .wp-element-caption {
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 30px;
  margin-top: 0; }
#brand .block {
  margin-bottom: 200px; }
#brand .product {
  margin-bottom: 70px; }
  #brand .product h3 {
    text-align: center;
    font-size: 2.3rem;
    margin-bottom: 15px;
    font-family: "FOT-筑紫Bオールド明朝 Pr6 D"; }
  #brand .product h4 {
    font-size: 2rem;
    font-family: "FOT-筑紫Bオールド明朝 Pr6 R";
    margin-bottom: 15px; }
  #brand .product .price {
    text-align: center;
    margin-bottom: 15px; }
  #brand .product p {
    margin-bottom: 10px; }
  #brand .product .tc a {
    font-weight: 600;
    font-size: 1.5rem;
    color: #fff;
    border-bottom: 1px solid;
    margin-top: 15px;
    display: inline-block; }
#brand .blog .wrap h3 {
  font-size: 2.5rem;
  margin-bottom: 30px;
  text-align: center; }
#brand .blog .wrap h4 {
  font-size: 1.5rem;
  line-height: 1.4; }
#brand .blog .wrap ul li {
  width: 48%;
  margin-bottom: 20px; }
#brand .shoplist h3, #brand .shoplist li, #brand .shoplist h4, #brand .shoplist p, #brand .shoplist a {
  font-size: 1.5rem;
  color: #fff; }
#brand .shoplist .text p {
  text-align: center; }
#brand .shoplist h3 {
  text-align: left;
  margin-bottom: 20px;
  font-family: "FOT-筑紫Bオールド明朝 Pr6 D";
  margin-top: 40px; }
#brand .shoplist li {
  margin-bottom: 20px; }
#brand .shoplist .address h3 {
  margin-bottom: 0; }
#brand .shoplist img {
  margin: 0;
  width: auto;
  height: 12px;
  margin-right: 5px; }
#brand .shop h2 {
  display: block;
  font-size: 3.2rem;
  margin-bottom: 20px;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: .2rem; }
#brand a.btn {
  color: #fff !important; }

.product_page h3 {
  font-size: 2rem !important;
  margin-top: 30px; }

#about {
  /*--固定背景01--*/
  /*タイムライン全体の設定*/
  /*絶対配置で線を設定*/
  /*タイムラインの見出し横の丸の位置と形状*/
  /*タイムライン end*/ }
  #about .kv {
    margin-bottom: 0px; }
  #about .block {
    padding-top: 70px;
    padding-bottom: 70px; }
    #about .block h3 {
      font-size: 2rem;
      font-family: "FOT-筑紫Bオールド明朝 Pr6 R";
      margin-bottom: 30px;
      text-align: center; }
    #about .block h4 {
      font-size: 2rem;
      font-family: "FOT-筑紫Bオールド明朝 Pr6 R";
      margin-bottom: 10px; }
    #about .block p {
      font-size: 1.5rem; }
  #about .base {
    background: #ededed !important; }
  #about .about__nav {
    margin-bottom: 50px; }
    #about .about__nav li a {
      font-size: 1.8rem;
      border-bottom: 1px solid;
      padding-bottom: 5px; }
  #about .yasuhuku img {
    width: 30px;
    padding: 70px 0 130px; }
  #about .cd-fixed-bg {
    position: relative;
    min-height: 100%;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
    height: 500px; }
  #about .section {
    background-color: #fff;
    width: 100%; }
  #about .parallax {
    width: 100%;
    height: 400px;
    position: sticky;
    top: 0;
    left: 0;
    z-index: -1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
  #about dl.table {
    border-top: 1px solid #808080; }
    #about dl.table dt, #about dl.table dd {
      font-size: 1.5rem;
      color: #000000;
      padding: 20px 0;
      border-bottom: 1px solid #808080; }
    #about dl.table dt {
      width: 23%;
      color: #808080; }
    #about dl.table dd {
      width: 77%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
  #about .shop {
    background: #fff; }
  #about .timeline li {
    /*線の起点とするためrelativeを設定*/
    position: relative;
    list-style: none;
    padding: 0 0 20px 0;
    font-size: 1.5rem; }
  #about .timeline dl {
    margin: 0 0 20px 3em; }
  #about .border-line {
    /*線の位置*/
    position: absolute;
    left: 0.4rem;
    top: 6px;
    width: 1px;
    /*線の太さ*/
    height: 0;
    /*はじめは高さを0に*/
    background: #000; }
  #about .timeline li::after {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 10px;
    height: 10px;
    background: #000;
    border-radius: 50%; }

/*=====================================================================
single
=======================================================================*/
#single {
  background: #fff; }
  #single .kv {
    width: calc(100% / 3);
    height: 450px;
    position: fixed;
    top: 0;
    z-index: -1;
    margin-bottom: 0;
    background-size: cover;
    background-position: center; }
    @media screen and (max-width: 768px) {
      #single .kv {
        width: 100%; } }
  #single .back__bottom {
    width: 100%; }
  #single .midashi {
    font-size: 20px;
    text-align: center;
    position: absolute;
    top: 0;
    width: calc(100% / 3);
    z-index: 99; }
    #single .midashi h2 {
      position: relative;
      z-index: 99;
      height: 30px;
      background: #ededed;
      padding-top: 20px; }
    @media screen and (max-width: 768px) {
      #single .midashi {
        width: 100%; } }
    #single .midashi canvas {
      max-width: 100%;
      top: 40px;
      position: absolute;
      left: 0;
      width: 100%; }
      @media screen and (max-width: 768px) {
        #single .midashi canvas {
          width: 100% !important;
          height: 70px !important; } }

.single {
  margin-top: 450px;
  padding-top: 70px;
  background: #fff;
  position: relative; }
  .single .editor h1 {
    font-size: 2.5rem;
    margin-bottom: 50px;
    text-align: left; }
  .single .editor h2 {
    font-size: 2.3rem;
    margin-bottom: 10px; }
  .single .editor p {
    font-size: 1.8rem; }
  .single .editor img {
    max-width: 100%;
    margin: 15px 0; }
  .single .editor .date {
    font-size: 1.8rem;
    margin-bottom: 5px;
    font-family: "Cormorant Garamond", serif; }
  .single .tag {
    margin-top: 30px;
    margin-bottom: 100px; }
    .single .tag ul {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; }
    .single .tag li {
      flex-wrap: wrap;
      margin-right: 15px;
      margin-bottom: 5px;
      font-size: 1.4rem;
      color: #000000; }
  .single .paging a {
    font-size: 1.4rem;
    margin: 0 15px; }
  .single .paging img {
    width: 6px;
    height: auto; }

/*=====================================================================
NEWS
=======================================================================*/
.news .news__wrap h2 {
  font-size: 2.3rem;
  margin-bottom: 30px; }
.news .news__wrap ul {
  border-top: 1px solid #000000; }
  .news .news__wrap ul li a {
    border-bottom: 1px solid #000000;
    padding: 15px 0; }
    .news .news__wrap ul li a .date {
      font-size: 1.8rem;
      margin-bottom: 5px;
      font-family: "Cormorant Garamond", serif; }
    .news .news__wrap ul li a h3 {
      font-size: 1.8rem;
      line-height: 1.5;
      transition: .3s; }
    .news .news__wrap ul li a .left {
      width: 90%; }
    .news .news__wrap ul li a .right {
      width: 10%;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      transition: .3s; }
      .news .news__wrap ul li a .right img {
        width: 6px;
        height: auto;
        position: relative;
        transition: .3s;
        left: -2px; }
    .news .news__wrap ul li a:hover {
      transition: .3s; }
      .news .news__wrap ul li a:hover img {
        transition: .3s;
        position: relative;
        left: 0px; }
      .news .news__wrap ul li a:hover h3 {
        text-decoration: underline;
        transition: .3s; }

.blog__wrap h2 {
  font-size: 2.3rem;
  margin-bottom: 30px; }
.blog__wrap ul li {
  margin-bottom: 30px; }
  .blog__wrap ul li .left {
    width: 45%; }
  .blog__wrap ul li .right {
    width: 50%; }
  .blog__wrap ul li h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    font-weight: 500;
    line-height: 1.4; }
  .blog__wrap ul li p {
    font-size: 1.2rem;
    text-align: right; }

.cat_list {
  margin-bottom: 80px; }
  .cat_list h2 {
    font-size: 2.5rem;
    margin-bottom: 15px;
    text-align: center; }
  .cat_list h3 {
    font-size: 1.5rem;
    margin-bottom: 40px;
    text-align: center; }
  .cat_list ul li {
    flex-wrap: wrap;
    margin: 0 10px 15px;
    font-size: 1.4rem;
    color: #c7c7c7; }
    .cat_list ul li a.check {
      color: #000000; }

/*=====================================================================
wp-pagenaviの設定
=======================================================================*/
.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-top: 45px; }

.wp-pagenavi a, .wp-pagenavi span {
  padding: 0 !important;
  margin: 0 10% !important;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  background: unset !important;
  border: none !important;
  width: 6px; }
  .wp-pagenavi a img, .wp-pagenavi span img {
    width: 100%; }

.wp-pagenavi a:hover {
  transition: .2s; }

#hubspot-messages-iframe-container.invisible {
  opacity: 0; }

div#current-view-component {
  z-index: 9999 !important; }
