@charset "UTF-8";
/* Reset CSS */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

/* gloabl CSS */
body {
  font-family: a-otf-gothic-bbb-pr6n, "游ゴシック", YuGothic, Helvetica, ArialMT, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #000000;
  font-size: 14px;
  letter-spacing: 0.14em;
  line-height: 2;
  -webkit-text-size-adjust: none;
  -ms-touch-action: none !important;
  -webkit-font-smoothing: antialiased;
}

p:not(:last-child), blockquote:not(:last-child) {
  margin-bottom: 1.5em;
}

a {
  color: #000000;
  text-decoration: none;
}

input, button, select {
  font-family: a-otf-gothic-bbb-pr6n, "游ゴシック", YuGothic, Helvetica, ArialMT, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1em;
  font-weight: 500;
}

button {
  -webkit-appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  outline: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

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

.wrapper {
  position: relative;
  min-height: calc(100vh - 366px);
  box-sizing: border-box;
}
.wrapper .backtoTopBtn {
  position: fixed;
  bottom: 50px;
  right: 65px;
  visibility: hidden;
  transition: all 0.3s ease-in;
  opacity: 0;
  z-index: 9999;
}
.wrapper .backtoTopBtn.show {
  visibility: visible;
  opacity: 1;
}

body:not(.template-index) .main {
  display: block;
  padding-top: 80px;
}
body:not(.template-index) .wrapper {
  padding-top: 60px;
}

.hidden {
  display: none;
  visibility: hidden;
}

.hide {
  display: none !important;
}

.visibility-hidden {
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.visible-phone {
  display: none !important;
}

.visible-tablet {
  display: none !important;
}

.hidden-desktop {
  display: none !important;
}

.visible-desktop {
  display: inherit !important;
}

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

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

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

@media (max-width: 1279px) {
  .wrapper .backtoTopBtn {
    bottom: 50px;
    right: 7.7%;
  }

  body:not(.template-index) .wrapper {
    min-height: calc(100vh - 312px);
  }

  .hidden-desktop {
    display: inherit !important;
  }

  .visible-desktop {
    display: none !important;
  }

  .visible-tablet {
    display: inherit !important;
  }

  .hidden-tablet {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .wrapper .backtoTopBtn {
    bottom: 25px;
  }
  .wrapper .backtoTopBtn svg {
    width: 35.5px;
    height: auto;
  }

  body:not(.template-index) .wrapper {
    padding-top: 20px;
    min-height: calc(100vh - 272px);
  }

  .visible-phone {
    display: inherit !important;
  }

  .hidden-phone {
    display: none !important;
  }
}
.contentComponent {
  width: auto;
  max-width: 1150px;
  padding: 0 65px;
  margin: 0 auto;
}

.contentSubComponent {
  width: auto;
  max-width: 840px;
  min-height: calc(100vh - 466px);
  padding: 0 32px;
  margin: 0 auto;
}
.contentSubComponent iframe {
  width: 100%;
  height: calc(840px * 0.5625);
}

.simpleUlList li {
  padding-left: 1em;
  position: relative;
}
.simpleUlList li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  width: 1em;
  height: 1em;
}

.lineOlComponent {
  counter-reset: orderList;
}
.lineOlComponent li {
  counter-increment: orderList;
}
.lineOlComponent li:not(:last-child) {
  margin-bottom: 2em;
}
.lineOlComponent li::before {
  display: block;
  content: counter(orderList) ".";
  font-size: 24px;
  line-height: 1.1;
  border-bottom: 1px solid #C8C8C8;
  margin-bottom: 5px;
}

.productListComponent .productList {
  display: flex;
  flex-wrap: wrap;
}
.productListComponent .productList li {
  margin-right: 17px;
  margin-bottom: 30px;
  position: relative;
  width: calc((100% - 51px) / 4);
}
.productListComponent .productList li:nth-child(4n) {
  margin-right: 0;
}
.productListComponent .productList li.soldOut .productSold {
  position: absolute;
  letter-spacing: 0;
  top: 8px;
  left: 8px;
  line-height: 1;
  z-index: 2;
  font-family: Helvetica;
  font-weight: bold;
  color: #666666;
}
.productListComponent .productList .productImgWrap {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.productListComponent .productList .productImgWrap::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.productListComponent .productList .productImgWrap img {
  display: block;
  width: auto;
  height: auto;
  min-height: 100%;
  min-width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.productListComponent .productInfoWrap {
  text-align: center;
  line-height: 2;
  font-size: 13px;
  margin-top: 22px;
}
.productListComponent .productVendor {
  display: none;
}
.productListComponent .productTitle, .productListComponent .productPrice {
  display: block;
}
.productListComponent .productSoldOut {
  color: #888888;
}

.columnContentComponent {
  display: flex;
  flex-wrap: wrap;
}
.columnContentComponent + .columnContentComponent {
  margin-top: 63px;
}
.columnContentComponent .columnWrap {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
.columnContentComponent .columnWrap.with-bg {
  background: #F5F5F5;
}
.columnContentComponent .columnWrap.with-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.columnContentComponent .columnWrap img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}
.columnContentComponent .columnWrap .subImgWrap img {
  width: inherit;
}
.columnContentComponent .textWrap {
  padding: 15px 18px;
  letter-spacing: 0;
  line-height: 2;
}
.columnContentComponent .textWrap .heading {
  text-align: left;
}
.articleListComponent {
  border-top: 1px solid #C8C8C8;
}
.articleListComponent .articleItem {
  border-bottom: 1px solid #C8C8C8;
  font-size: 16px;
}
.articleListComponent .articleItem a {
  padding: 24px 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  transition: all 0.3s ease-out;
}
.articleListComponent .articleItem a:hover {
  opacity: 0.6;
}
.articleListComponent .articleItem .articlePublished {
  min-width: 120px;
  flex: none;
}
.articleListComponent .articleItem .articleTitle {
  width: auto;
  max-width: calc(100% - 120px);
  overflow: hidden;
  flex: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.blogListComponent {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.blogListComponent .blogArticleItem {
  width: calc((100% - 16px) / 2);
  margin-bottom: 64px;
}
.blogListComponent .blogArticleItem .imgSquareFit {
  height: 231px;
}
.blogListComponent .articleLink {
  display: block;
}
.blogListComponent .articleInfo {
  letter-spacing: 0;
  display: block;
  margin-top: 12px;
}
.blogListComponent .articleCategory, .blogListComponent .articleTitle {
  line-height: 1;
  font-size: 16px;
}
.blogListComponent .articleCategory {
  display: block;
  margin-bottom: 9px;
}

.paginateComponent {
  margin: 60px 0;
  font-size: 13px;
  line-height: 1;
}
.paginateComponent .paginateNav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
.paginateComponent .paginateNavItem {
  display: inline-block;
  padding: 16px 28px;
  border-bottom: 1px solid #e3e3e3;
  color: #9d9d9d;
}
.paginateComponent .paginateNavItem svg {
  width: 6px;
  height: 10px;
  vertical-align: -1px;
}
.paginateComponent .paginateNavItem.is-active {
  color: #454545;
  border-bottom-color: #454545;
  box-shadow: 0 -2px #454545 inset;
}

.breadcrumbComponent {
  padding: 8px 32px;
  font-size: 12px;
}

.formComponent *::placeholder {
  color: rgba(59, 62, 67, 0.7) !important;
  opacity: 1;
}
.formComponent ::-webkit-input-placeholder {
  color: rgba(59, 62, 67, 0.7) !important;
}
.formComponent :-moz-placeholder {
  color: rgba(59, 62, 67, 0.7) !important;
}
.formComponent :-ms-input-placeholder {
  color: rgba(59, 62, 67, 0.7) !important;
}
.formComponent .primaryLine {
  position: relative;
  display: block;
}
.formComponent .primaryLine.is-flex {
  display: flex;
}
.formComponent .primaryLine input, .formComponent .primaryLine textarea {
  font-family: ten-mincho-text, serif;
  font-style: normal;
  font-weight: 400;
  border: 1px solid #C8C8C8;
  box-sizing: border-box;
  border-radius: 0;
  box-shadow: none;
}
.formComponent .primaryLine input[type=text], .formComponent .primaryLine input[type=email], .formComponent .primaryLine input[type=password], .formComponent .primaryLine input[type=tel], .formComponent .primaryLine textarea[type=text], .formComponent .primaryLine textarea[type=email], .formComponent .primaryLine textarea[type=password], .formComponent .primaryLine textarea[type=tel] {
  height: 34px;
}
.formComponent .primaryLine input {
  padding: 0 10px;
}
.formComponent .primaryLine textarea {
  padding: 10px;
}
.formComponent .primaryLine .labelTxt {
  display: block;
  font-size: 15px;
}
.formComponent.searchForm .primaryLine .searchInput {
  width: 100%;
  height: 42px;
}
.formComponent.searchForm .btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  height: 100%;
}
.formComponent.searchForm .btn svg {
  width: 22px;
  height: 22px;
  fill: #C8C8C8;
}

@media (max-width: 1279px) {
  .contentComponent, .contentSubComponent {
    padding: 0 7.7%;
  }

  .contentSubComponent {
    min-height: calc(100vh - 412px);
  }
  .contentSubComponent .stripHtml {
    overflow: hidden;
  }
  .contentSubComponent iframe {
    width: 100%;
    height: calc((100vw - 15.4vw) * 0.5625);
  }

  .relatedPost .blogListComponent .blogArticleItem .imgSquareFit {
    height: 194px;
  }

  .productListComponent .productList li {
    width: calc((100% - 30px) / 4);
    margin-right: 10px;
  }
  .productListComponent .productList .productInfoWrap {
    font-size: 12px;
  }

  .paginateComponent .paginateNavItem {
    padding: 16px 20px;
  }

  .formComponent.webletter form {
    width: 100%;
  }
  .formComponent.webletter input {
    width: 100%;
    flex-grow: 1;
    font-size: 16px;
  }
  .formComponent.webletter input::placeholder {
    font-size: 11px;
  }
}
@media (max-width: 767px) {
  .breadcrumbComponent {
    font-size: 10px;
  }

  .columnContentComponent .columnWrap {
    width: 100%;
  }
  .contentSubComponent {
    min-height: calc(100vh - 328px);
  }
}
@media (max-width: 767px) and (max-width: 375px) and (min-width: 374px) {
  .contentSubComponent iframe {
    width: 318px;
    height: 179px;
  }
}
@media (max-width: 767px) {
  .productListComponent .productList {
    width: 100%;
  }
  .productListComponent .productList li {
    margin-right: 10px;
    width: calc((100% - 10px) / 2);
  }
  .productListComponent .productList li:nth-child(2n) {
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  .articleListComponent .articleItem {
    font-size: 13px;
  }
  .articleListComponent .articleItem a {
    padding: 10px 0;
    display: block;
  }
  .articleListComponent .articleItem .articlePublished {
    min-width: inherit;
    display: block;
    font-size: 12px;
    line-height: 1;
    margin-bottom: 12px;
  }
  .articleListComponent .articleItem .articleTitle {
    width: auto;
    max-width: 100%;
    line-height: 1;
    margin-bottom: 3px;
  }
}
@media (max-width: 767px) {
  .blogListComponent {
    display: block;
  }
  .blogListComponent .blogArticleItem {
    width: 100%;
  }
}
.ten {
  font-family: ten-mincho, "游明朝", YuMincho, Garamond, "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "liga" 0, "clig" 0;
}

.tenTxt {
  font-family: ten-mincho-text, "游明朝", YuMincho, Garamond, "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "liga" 0, "clig" 0;
}

.bold {
  font-family: a-otf-futo-go-b101-pr6n, "游ゴシック", YuGothic, Helvetica, ArialMT, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-style: normal;
}

.garamond {
  font-family: garamond-premier-pro, ten-mincho, "游明朝", YuMincho, Garamond, "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  font-style: normal;
  font-weight: 400;
}

.heading.is-primary {
  font-size: 32px;
  letter-spacing: 0.2em;
}
.heading.is-secondary {
  font-size: 24px;
  letter-spacing: 0.2em;
}
.heading.is-tertiary {
  font-size: 20px;
  letter-spacing: 0.2em;
}
.heading.with-line span {
  border-bottom: 1px solid #FF6800;
}
.heading.with-hoverline span {
  position: relative;
}
.heading.with-hoverline span::after {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  transition: 0.2s all ease-in;
  background-color: #FF6800;
}
.heading.with-hoverline:hover span::after {
  width: calc(100% + 30px);
}
.heading.with-subline span {
  border-bottom: 1px solid rgba(200, 200, 200, 0.9);
}
.heading.with-hoversubline span {
  position: relative;
}
.heading.with-hoversubline span::after {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  transition: 0.2s all ease-in;
  background-color: rgba(200, 200, 200, 0.9);
}
.heading:hover span::after {
  width: calc(100% + 30px);
}

.btn {
  border-radius: 0;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
.btn:hover {
  cursor: pointer;
  opacity: 0.5;
}
.btn.is-dark {
  background: #3B3E43;
  color: #ffffff;
}
.btn.with-bg {
  background: #666666;
  color: #ffffff;
  transition: all 0.3s ease-out;
}
.btn.is-disable, .btn:disabled {
  background: #EBEBEB;
  color: #888888;
  font-weight: normal;
  letter-spacing: 0.7px;
}
.btn.is-disable:hover, .btn:disabled:hover {
  cursor: auto;
  opacity: 1;
}
.btn.is-primary {
  width: 100%;
  height: 50px;
  font-size: 16px;
}
.btn.is-secondary {
  width: 100%;
  height: 34px;
}
.btn.for-submit {
  font-size: 14px;
}

.linkBtn {
  display: inline-block;
  border-radius: 4px;
  letter-spacing: 0.14em;
  padding: 0 23px;
  border: 1px solid #C8C8C8;
  box-sizing: border-box;
  text-align: center;
}
.linkBtn.with-bg {
  background: #666666;
  color: #ffffff;
  border: none;
  font-size: 12px;
  padding: 0 10px;
  min-height: 32px;
  line-height: 31px;
  transition: all 0.3s ease-out;
}
.linkBtn.with-bg:hover {
  opacity: 0.5;
}
.linkBtn.is-primary {
  width: 170px;
}

.highlightLink {
  color: #F6921E;
  text-decoration: underline;
}

.imgSquareFit {
  width: 100%;
  height: 100%;
  overflow: hidden;
  flex: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
.imgSquareFit img {
  width: auto;
  height: auto;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  display: block;
}

.stripHtml h1, .stripHtml h2, .stripHtml h3, .stripHtml h4, .stripHtml h5, .stripHtml h6 {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 1em;
  line-height: 1.3;
}
.stripHtml img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1.5em;
}
.stripHtml hr {
  border: none;
  border-bottom: 1px solid #EBEBEB;
  margin: 35px 0;
}
.stripHtml iframe {
  margin-bottom: 1.5em;
}

.arrowLink span {
  padding-left: 13px;
  position: relative;
}
.arrowLink span::before {
  position: absolute;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  top: 0;
  left: 0;
  background: url("common_icon_arrow.svg") no-repeat center center;
  background-size: 4px 8px;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 4em, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.inview {
  opacity: 0;
}
.inview.fadeUp.visible {
  -webkit-animation: fadeInUp cubic-bezier(0.165, 0.84, 0.44, 1) 2s alternate;
  animation: fadeInUp cubic-bezier(0.165, 0.84, 0.44, 1) 2s alternate;
  animation-delay: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.inview.fadeIn.visible {
  -webkit-animation: fadeIn 3s;
  animation: fadeIn 3s;
  animation-delay: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@media (max-width: 767px) {
  .heading.is-primary {
    font-size: 26px;
  }
  .heading.is-tertiary {
    font-size: 18px;
    line-height: 1.8;
  }
  .heading.with-hoverline span {
    position: relative;
  }
  .heading.with-hoverline:hover span::after {
    width: 100%;
  }
  .heading:hover span::after {
    width: 100%;
  }

  .btn.is-primary {
    width: 100%;
  }
  .readText {
    font-size: 12px;
    line-height: 2;
  }
}
#loadingArea {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99999999;
  background: #ffffff;
}

body.loading .contentsArea {
  display: none;
}

.headerBg {
  width: 100%;
  height: 102px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

#shopify-section-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999999;
}
.mfp-zoom-out-cur #shopify-section-header {
  z-index: 99;
}

.header {
  width: 100%;
  height: 58px;
  box-sizing: border-box;
  transition: background 0.5s ease;
}
.header .headerContent {
  padding: 0 30px;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
}
.header.is-transparent:not(.fixed):not(.search-open) {
  color: #ffffff;
  background: rgba(0, 0, 0, 0.5);
}
.header.is-transparent:not(.fixed):not(.search-open) .mainNavItem > a, .header.is-transparent:not(.fixed):not(.search-open) .subNavItem > a {
  color: #ffffff;
}
.header.is-transparent:not(.fixed):not(.search-open) .subNavItem .iconWrap.is-bk {
  display: none;
}
.header.is-transparent:not(.fixed):not(.search-open) .headerLogoImg {
  display: none;
}
.header.is-transparent:not(.fixed):not(.search-open) ~ #smtGnaviBtn .iconWrap.is-bk {
  display: none;
}
.header:not(.is-transparent), .header.search-open {
  background: #ffffff;
}
.header:not(.is-transparent) .headerTransparentLogoImg, .header.search-open .headerTransparentLogoImg {
  display: none;
}
.header:not(.is-transparent) .iconWrap.is-wh, .header.search-open .iconWrap.is-wh {
  display: none;
}
.header:not(.is-transparent) .iconWrap.is-bk, .header.search-open .iconWrap.is-bk {
  display: block;
}
.header:not(.is-transparent) ~ #smtGnaviBtn .iconWrap.is-wh, .header.search-open ~ #smtGnaviBtn .iconWrap.is-wh {
  display: none;
}
.header:not(.is-transparent) ~ #smtGnaviBtn .iconWrap.is-bk, .header.search-open ~ #smtGnaviBtn .iconWrap.is-bk {
  display: block;
}
body:not(.template-index) .header {
  position: absolute;
}
.header.fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #ffffff;
}
.header.fixed .headerTransparentLogoImg {
  display: none;
}
.header.fixed .iconWrap.is-wh {
  display: none;
}
.header.fixed .iconWrap.is-bk {
  display: block;
}
.header.fixed ~ #smtGnaviBtn .iconWrap.is-wh {
  display: none;
}
.header.fixed ~ #smtGnaviBtn .iconWrap.is-bk {
  display: block;
}

.headerLogo {
  margin-right: 45px;
}
.headerLogo a {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
}
.headerLogo img {
  display: block;
}

.gnav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-grow: 1;
}
.gnav .mainNav, .gnav .subNav {
  line-height: 1;
  font-size: 15px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.gnav .mainNav {
  margin-right: 15px;
  padding-right: 8px;
  letter-spacing: 0.2em;
}
.gnav .mainNav a {
  padding: 15px;
}
.gnav .mainNav .mainNavItem {
  margin-right: 12px;
}
.gnav .mainNav .mainNavItem:nth-child(1) {
  position: relative;
}
.gnav .mainNav .mainNavItem[aria-haspopup=true]:hover .megaMenu, .gnav .mainNav .mainNavItem[aria-haspopup=true]:hover .dropdownMenu {
  visibility: visible;
  opacity: 1;
}
.gnav .mainNav .mainNavItem[aria-haspopup=true]:hover .mainNavItemLink {
  opacity: 0.6;
}
.gnav .mainNav .mainNavItemLink {
  padding: 18px 15px;
  cursor: pointer;
  transition: all 0.3s ease-out;
}
.gnav .mainNav .mainNavItemLink:hover {
  opacity: 0.6;
}
.gnav .subNav {
  letter-spacing: 0;
}
.gnav .subNav a, .gnav .subNav .btn {
  padding: 10px;
  display: block;
  transition: all 0.3s ease-out;
}
.gnav .subNav a:hover, .gnav .subNav .btn:hover {
  opacity: 0.6;
}
.gnav .subNav .searchNav img {
  display: block;
}
.gnav .subNav .searchFormModal {
  position: absolute;
  top: 58px;
  left: 0;
  width: 100%;
  height: 74px;
  padding: 0 32px;
  box-sizing: border-box;
  background: #ffffff;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.16);
  display: none;
}
.gnav .subNav .searchFormModal .searchForm, .gnav .subNav .searchFormModal .primaryLine {
  height: 100%;
}
.gnav .subNav .searchFormModal .searchInput {
  height: 100%;
  border: none;
}
.gnav .subNav .cartNav {
  position: relative;
}
.gnav .subNav .cartCount {
  position: absolute;
  width: 17px;
  height: 15px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  background: #F6921E;
  border-radius: 7px;
  top: 19px;
  right: 6px;
  color: #ffffff;
  font-size: 10px;
  line-height: 13px;
}

.langNav {
  display: none;
}

.dropdownMenu {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 36px;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: #ffffff;
  padding: 45px 0;
}
.dropdownMenu .dropdownLinkList[data-title] .linklistItem {
  position: relative;
}
.dropdownMenu .dropdownLinkList[data-title] .linklistItem a {
  transition: color 0.3s ease-out;
}
.dropdownMenu .dropdownLinkList[data-title] .linklistItem a:hover {
  color: #C8C8C8;
}
.dropdownMenu .linklistItem {
  text-align: center;
  letter-spacing: 0;
}
.dropdownMenu .linklistItem:not(:last-child) {
  margin-bottom: 45px;
}

.megaMenu {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 58px;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: #ffffff;
  transition: all 0.3s ease-in-out;
  padding: 20px 0 30px;
}
.megaMenu .megaMenuContent {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  font-size: 13px;
}
.megaMenu .megaMenuCategory:nth-child(1) {
  margin-left: 85px;
  margin-right: 40px;
}
.megaMenu .megaMenuCategory:nth-child(2) {
  margin-right: 87px;
}
.megaMenu .megaMenuCategory:nth-child(3) {
  margin-right: 78px;
}
.megaMenu .megaMenuCategory:nth-child(4) {
  margin-right: 54px;
}
.megaMenu .megaMenuCategory:nth-child(5) {
  margin-right: 65px;
}
.megaMenu .megaMenuCategory:nth-child(1) .megaMenuCategoryName::before {
  top: -13px;
  left: -45px;
  width: 45px;
  background: url("common_icon_pen.png") no-repeat left top;
  background-size: 45px 137px;
}
.megaMenu .megaMenuCategory:nth-child(2) .megaMenuCategoryName::before {
  top: -9px;
  left: -35px;
  width: 40px;
  background: url("common_icon_ink.png") no-repeat left top;
  background-size: 40px 84px;
}
.megaMenu .megaMenuCategory:nth-child(3) .megaMenuCategoryName::before {
  top: -8px;
  left: -63px;
  width: 68px;
  background: url("common_icon_notebook.png") no-repeat left top;
  background-size: 68px 84px;
}
.megaMenu .megaMenuCategory:nth-child(4) .megaMenuCategoryName::before {
  top: 0;
  left: -83px;
  width: 88px;
  background: url("common_icon_letter.png") no-repeat left top;
  background-size: 88px 84px;
}
.megaMenu .megaMenuCategory:nth-child(5) .megaMenuCategoryName::before {
  top: -12px;
  left: -78px;
  width: 81px;
  background: url("common_icon_desk.png") no-repeat left top;
  background-size: 81px 90px;
}
.megaMenu .megaMenuCategory:nth-child(6) .megaMenuCategoryName::before {
  top: -5px;
  left: -53px;
  width: 53px;
  background: url("common_icon_gift.png") no-repeat left top;
  background-size: 53px 97px;
}
.megaMenu .megaMenuCategoryName {
  font-size: 16px;
  margin-bottom: 15px;
  display: block;
  position: relative;
  letter-spacing: 0.2em;
}
.megaMenu .megaMenuCategoryName::before {
  display: block;
  content: "";
  position: absolute;
  height: 140px;
}
.megaMenu .megaMenuCategoryName span {
  position: relative;
}
.megaMenu .megaMenuCategoryName span::after {
  display: block;
  content: "";
  width: 0px;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: 0.2s all ease-in;
  background-color: #666666;
}
.megaMenu .megaMenuCategoryName span:hover::after {
  width: 100%;
}
.megaMenu .megamenuLinkList {
  letter-spacing: 0;
}
.megaMenu .megamenuLinkList .linklistItem:not(:last-child) {
  margin-bottom: 24px;
}
.megaMenu .megamenuLinkList .linklistItem a {
  transition: color 0.3s ease-out;
}
.megaMenu .megamenuLinkList .linklistItem a:hover {
  color: #C8C8C8;
}

.announceBar {
  background: #000000;
  color: #ffffff;
  width: 100%;
  padding: 0 32px;
  height: 44px;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}
.announceBar a {
  color: #ffffff;
}
.announceBar .announceBarContent {
  width: 100%;
  box-sizing: border-box;
  padding-right: 100px;
  line-height: 1;
}
.announceBar .announceBarContent #announceBarSlick {
  opacity: 0;
}
.announceBar .announceBarContent #announceBarSlick.slick-initialized {
  opacity: 1;
}
.announceBar .announceBarContent .slick-slider {
  margin-bottom: 0;
}
.announceBar .newsTitleWrap {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  height: 44px;
}
.announceBar .newsTitleWrap .newsTitle {
  height: auto;
  max-height: 2em;
  overflow: hidden;
}
.announceBar .announceBarControl {
  position: absolute;
  top: 16px;
  right: 32px;
  font-size: 12px;
  display: flex;
  flex-wrap: nowrap;
}
.announceBar .announceBarControl .slick-prev, .announceBar .announceBarControl .slick-next {
  position: relative;
  color: #ffffff;
  width: auto;
  outline: none;
}
.announceBar .announceBarControl .slick-prev {
  margin-right: 1em;
}
.announceBar .announceBarControl .slick-next {
  margin-left: 1em;
}

.footer {
  width: 100%;
  box-sizing: border-box;
  padding: 60px 65px;
  background: #E6E6E6;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.footer .fotterLogo {
  font-size: 14px;
  display: flex;
  flex-wrap: nowrap;
  flex: none;
  align-items: flex-start;
}
.footer .fotterLogo img {
  display: block;
}
.footer .fotterLogo .kakimoriLogo {
  padding-top: 30px;
  margin-right: 34px;
}
.footer .fotterLogo .inkstandLogo {
  padding-top: 27px;
}
.footer .footerNav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.footer .footerMainNav {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  width: auto;
  min-width: 600px;
  height: 122px;
  position: relative;
}
.footer .footerMainNav a {
  padding: 11px;
}
.footer .footerMainNav li {
  margin-right: 30px;
  line-height: 1;
  margin-bottom: 22px;
}
.footer .footerMainNav li:nth-child(1) {
  position: absolute;
  top: 36px;
  left: 0;
}
.footer .footerMainNav li:nth-child(2) {
  margin-bottom: 58px;
}
.footer .footerMainNav li:nth-child(4n) {
  margin-bottom: 0;
}
.footer .footerSubNav {
  display: flex;
  flex-wrap: nowrap;
}
.footer .footerSubNav li:not(:last-child) {
  margin-right: 25px;
}
.footer .footerSubNav img {
  display: block;
}
.footer .footerCopyRight {
  position: absolute;
  bottom: 42px;
  left: 65px;
  font-size: 10px;
  letter-spacing: 0.14em;
}

.shopify-challenge__container {
  padding: 75px 0 90px;
}
.shopify-challenge__container .breadcrumbComponent {
  display: none;
}
.shopify-challenge__container .shopify-challenge__button {
  width: 140px;
  height: 50px;
  background: #3B3E43;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
}

@media (min-width: 1280px) {
  .drawerGnav {
    display: none;
  }

  .dropdownMenu {
    transition: all 0.3s ease-in-out;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.16);
  }

  .megaMenu {
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.16);
  }
}
@media (max-width: 1279px) {
  .header.is-transparent:not(.fixed) ~ #smtGnaviBtn:not(.is-open) .menuicon span {
    background: #ffffff;
  }
  .header.fixed ~ #smtGnaviBtn {
    position: fixed;
  }

  .header .headerContent {
    padding: 0 32px;
  }
  .header .mainNav {
    display: none;
  }
  .header .subNav {
    margin-right: 35px;
  }
  .header .subNav .subNavItem.langNav {
    display: none;
  }
  .header .subNav .subNavItem.calendarNav {
    display: none;
  }
  .header .subNav .subNavItem.searchNav {
    display: none;
  }

  label#smtGnaviBtn {
    display: block;
    position: absolute;
    width: 45px;
    height: 45px;
    right: calc(32px - 10px);
    top: 5px;
    z-index: 10000;
  }
  label#smtGnaviBtn:hover {
    cursor: pointer;
  }
  label#smtGnaviBtn.is-open {
    position: fixed;
  }
  label#smtGnaviBtn .menuicon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    height: 100%;
  }
  label#smtGnaviBtn .menuicon img {
    display: block;
  }
  label#smtGnaviBtn .menuiconOpen {
    display: block;
  }
  label#smtGnaviBtn .menuiconClose {
    display: none;
  }

  .dropdownBtn {
    display: block;
    position: absolute;
    width: 100%;
    height: 60px;
    left: 0;
    right: auto;
    top: 0;
    z-index: 10000;
  }
  .dropdownBtn:hover {
    cursor: pointer;
  }
  .dropdownBtn .menuicon {
    width: 24px;
    height: 21px;
    display: block;
    position: absolute;
    left: 0;
    top: 20px;
    z-index: 9999;
  }
  .dropdownBtn .menuicon span {
    width: 12px;
    height: 1px;
    display: block;
    background: #707070;
    position: absolute;
    right: 0;
    top: 0;
  }
  .dropdownBtn .menuicon-animation-2 span {
    transition: all 0.3s;
    transform: rotate(0deg);
  }
  .dropdownBtn .menuicon-animation-2 .top {
    width: 10px;
    transform: translateX(-10px) translateY(10px) rotate(45deg);
  }
  .dropdownBtn .menuicon-animation-2 .bottom {
    width: 10px;
    transform: translateX(-3px) translateY(10px) rotate(-45deg);
  }

  input[type=checkbox].on-off {
    display: none;
  }

  input[type=checkbox].on-off:checked ~ #smtGnaviBtn .menuicon-animation-1 .top {
    transform: rotate(-45deg) translateY(0px);
  }
  input[type=checkbox].on-off:checked ~ #smtGnaviBtn .menuicon-animation-1 .middle {
    display: none;
    margin: 0;
  }
  input[type=checkbox].on-off:checked ~ #smtGnaviBtn .menuicon-animation-1 .bottom {
    transform: rotate(45deg) translateY(0px);
  }

  .dropdownBtn.is-open .menuicon-animation-2 .top {
    width: 15px;
    transform: translateX(-3px) translateY(10px) rotate(0deg);
  }
  .dropdownBtn.is-open .menuicon-animation-2 .bottom {
    opacity: 0;
  }

  input[type=checkbox].on-off:checked ~ #smtGnaviBtn {
    right: 20px;
  }
  input[type=checkbox].on-off:checked ~ #smtGnaviBtn .menuicon .menuiconOpen {
    display: none;
  }
  input[type=checkbox].on-off:checked ~ #smtGnaviBtn .menuicon .menuiconClose {
    display: block;
  }

  .gnav {
    justify-content: flex-end;
  }
  .gnav .subNav a {
    padding: 10px 5px;
  }
  .gnav .subNav .calendarNav {
    margin-right: 14px;
    margin-left: 6px;
  }
  .gnav .subNav .searchNav {
    margin-right: 14px;
  }
  .gnav .subNav .cartNav {
    margin-right: 0;
  }
  .gnav .subNav .cartCount {
    top: 17px;
    right: 1px;
  }

  .drawerGnav {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 414px;
    height: 100%;
    font-size: 15px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 60px 32px 50px;
    box-sizing: border-box;
    min-height: 100vh;
    background: #ffffff;
    transition: all 0.3s ease-in;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.16);
    z-index: 9999;
  }
  .drawerGnav ul {
    line-height: inherit;
  }
  .drawerGnav .drawerMainNav {
    display: block;
    color: #000000;
    border-top: 1px solid #C8C8C8;
  }
  .drawerGnav .drawerSubNav {
    text-align: center;
    border-top: 1px solid #C8C8C8;
    font-size: 14px;
  }
  .drawerGnav .drawerSubNav li:not(:last-child) {
    border-bottom: 1px solid #C8C8C8;
  }
  .drawerGnav .drawerSubNav a {
    padding: 8px 0;
    display: block;
  }
  .drawerGnav .drawerSubNav .calendarNav a {
    padding: 6px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
  }
  .drawerGnav .drawerSubNav .calendarNav a img {
    display: block;
    margin-right: 3px;
  }
  .drawerGnav .drawerFooter {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    height: 220px;
    font-size: 12px;
    border-bottom: 1px solid #C8C8C8;
    padding-top: 20px;
    padding-bottom: 10px;
    box-sizing: border-box;
    position: relative;
  }
  .drawerGnav .drawerFooter li {
    padding-bottom: 12px;
    width: 50%;
  }
  .drawerGnav .drawerFooter li:nth-child(1) {
    position: absolute;
    top: 56px;
    left: 0;
  }
  .drawerGnav .drawerFooter li:nth-child(2) {
    margin-bottom: 36px;
  }
  .drawerGnav .mainNavItem {
    position: relative;
    border-bottom: 1px solid #C8C8C8;
  }
  .drawerGnav .mainNavItem.social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    height: 56px;
  }
  .drawerGnav .mainNavItem.social-icons a {
    padding: 15px 25px;
  }
  .drawerGnav .mainNavItem.social-icons img {
    display: block;
    opacity: 0.6;
  }
  .drawerGnav .mainNavItem.for-search {
    padding: 9px 0;
  }
  .drawerGnav .mainNavItemLink {
    padding: 15px 0 15px 30px;
    display: block;
  }
  .drawerGnav .mainNavItemLink.garamond {
    font-size: 18px;
    padding: 14px 0 10px 30px;
  }
  .drawerGnav .dropdownMenu {
    visibility: visible;
    opacity: 1;
    position: relative;
    top: inherit;
    left: inherit;
    padding: 0 0 15px 0;
    box-sizing: border-box;
    font-size: 14px;
  }
  .drawerGnav .dropdownMenu .linklistItem {
    position: relative;
    text-align: left;
  }
  .drawerGnav .dropdownMenu .linklistItem:not(:last-child) {
    margin-bottom: 0;
  }
  .drawerGnav .dropdownMenu .linklistItem .mainNavItemLink {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: calc(30px + 1em);
  }
  .drawerGnav .dropdownSubMenu {
    padding-left: 1em;
  }
  .drawerGnav .dropdownSubMenu .dropdownLinkList {
    position: relative;
  }
  .drawerGnav .toggleMenu {
    display: none;
  }

  .announceBar {
    padding: 0 32px;
  }
  .announceBar .announceBarContent {
    padding-right: 80px;
  }
  .announceBar .newsTitleWrap .newsTitle {
    font-size: 12px;
  }
  .announceBar .announceBarControl {
    font-size: 10px;
  }

  .footer {
    padding: 48px 7.7% 40px;
    min-width: inherit;
  }
  .footer .fotterLogo {
    margin-bottom: 44px;
  }
  .footer .fotterLogo .kakimoriLogo {
    padding-top: 0;
    margin-right: 35px;
    width: 146px;
    height: 58px;
  }
  .footer .fotterLogo .inkstandLogo {
    padding-top: 0;
    width: 89px;
    height: 60px;
  }
  .footer .footerNav {
    display: block;
    margin-bottom: 42px;
  }
  .footer .footerMainNav {
    display: block;
    min-width: inherit;
    height: auto;
    margin-bottom: 0;
    margin-left: -10px;
    display: none;
  }
  .footer .footerMainNav li {
    margin-right: 0;
  }
  .footer .footerMainNav li:nth-child(4n) {
    margin-bottom: 22px;
  }
  .footer .footerCopyRight {
    display: block;
    left: 7.7%;
    bottom: 52px;
    line-height: 1;
  }

  .shopify-challenge__container {
    padding: 50px 30px 60px;
  }
}
@media (max-width: 767px) {
  .announceBar {
    height: 40px;
  }
  .announceBar .newsTitleWrap {
    height: 40px;
    line-height: 1.6;
  }
  .announceBar .newsTitleWrap .newsTitle {
    max-height: 35px;
    font-size: 10px;
  }

  .drawerGnav {
    width: 100%;
  }
  .drawerGnav .drawerFooter {
    display: block;
    height: auto;
    padding-top: 20px;
    padding-bottom: 10px;
  }
  .drawerGnav .drawerFooter li {
    width: 100%;
  }

  .footer {
    padding: 36px 7.7% 52px 7.7%;
  }
  .footer .fotterLogo {
    margin-bottom: 0;
    max-width: 290px;
    justify-content: space-between;
  }
  .footer .fotterLogo .kakimoriLogo {
    display: block;
    margin-right: 26px;
    width: 107px;
    height: auto;
  }
  .footer .fotterLogo .inkstandLogo {
    display: block;
    width: 65px;
    height: auto;
  }
  .footer .footerCopyRight {
    bottom: 42px;
  }
}
.template-search .breadcrumbComponent {
  display: none;
}

.searchPage {
  padding-top: 20px;
  padding-bottom: 100px;
  letter-spacing: 0;
}
.searchPage .searchTitle {
  margin-bottom: 100px;
}
.searchPage .searchResultItem {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid #C8C8C8;
  line-height: 1.6;
}
.searchPage .searchResultItem:first-of-type {
  border-top: 1px solid #C8C8C8;
}
.searchPage .searchResultItem .imgSquareFit {
  width: 150px;
  height: 150px;
}
.searchPage .searchResultItem .imgSquareFit img {
  max-height: 100%;
}
.searchPage .searchItemImg {
  margin-right: 40px;
}
.searchPage .searchResultTitle {
  font-size: 16px;
  margin-bottom: 12px;
}
.searchPage .searchResultText {
  font-size: 13px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  max-height: 104px;
}

.template-404 .notFoundPage {
  padding: 0 32px 60px;
}
.template-404 .notFoundPage .heading {
  font-size: 19px;
  letter-spacing: 0;
  margin-bottom: 10px;
}
.template-404 .notFoundPage a {
  letter-spacing: 0;
  text-decoration: underline;
}
.template-404 .breadcrumbComponent {
  display: none;
}

.shopify-policy__container .shopify-policy__title {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 40px;
}
.shopify-policy__container .shopify-policy__body h1, .shopify-policy__container .shopify-policy__body h2, .shopify-policy__container .shopify-policy__body h3, .shopify-policy__container .shopify-policy__body h4, .shopify-policy__container .shopify-policy__body h5, .shopify-policy__container .shopify-policy__body h6 {
  font-size: 14px;
  font-weight: bold;
}

.template-password {
  position: relative;
}
.template-password .password-page__header {
  text-align: right;
  padding: 30px;
}
.template-password .password-page__header a {
  color: #2B2B2B;
}
.template-password .formComponent .primaryLine input {
  font-size: 11px;
}
.template-password .formComponent .primaryLine input[type=password] {
  flex-grow: 1;
}
.template-password .formComponent .btn {
  height: 40px;
  padding: 0 15px;
  flex: none;
}
.template-password .storeLogo {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 35px;
}
.template-password .storeLogo img {
  display: block;
}
.template-password .storeLogo img:first-child {
  padding-bottom: 2px;
  padding-right: 13px;
}
.template-password .passwordPage {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  height: calc(100vh - 150px);
}
.template-password .passwordPage .mailSection {
  font-size: 11px;
  padding-top: 110px;
}
.template-password .passwordPage .mailSection .heading {
  margin-bottom: 25px;
}

@media (max-width: 767px) {
  .searchPage .searchResultItem {
    display: block;
  }
  .searchPage .searchItemImg {
    margin-bottom: 20px;
  }
}
