@charset "UTF-8";
:root {
  --color-black: rgba(0, 0, 0, 1);
  --color-bdr-gray: #969696;
  --color-white: rgba(255, 255, 255, 1);
  --color-green: rgba(34, 154, 86, 1);
  --header-height: 90px;
  --btn-height: 36px;
  --btn-height-small: 24px;
  --btn-height-medium: 30px;
  --fs-header-nav: min(5.13vw,20px);
  --fs-footer-nav: 3.0rem;
  --fs-nav-info: min(3.08vw,12px);
  --fs-ttl-h2: min(15.38vw,60px);
  --fs-news-title: min(4.62vw,18px);
  --fs-news-title-en: min(5.13vw,20px);
  --fs-button-ja: min(4.62vw,18px);
  --fs-button-en: min(5.13vw,20px);
  --fs-button-m-ja: min(4.1vw,16px);
  --fs-button-m-en: min(4.62vw,18px);
  --fs-news-date: min(3.85vw,15px);
  --fs-dictionary-title-en: min(15.38vw,60px);
  --fs-dictionary-title-ja: min(4.1vw,16px);
  --fs-12-12: min(3.08vw,12px);
  --fs-12-15: min(3.08vw,12px);
  --fs-12-20: min(3.08vw,12px);
  --fs-14-24: min(3.59vw,14px);
  --fs-15-15: min(3.85vw,15px);
  --fs-16-16: min(4.1vw,16px);
  --fs-15-20: min(3.85vw,15px);
  --fs-20-30: min(5.13vw,20px);
  --fs-30-60: min(7.69vw,30px);
  --fs-36-60: min(9.23vw,36px);
  --ttl-page-ja: min(5.13vw,20px);
  --ttl-page-en: min(5.13vw,20px);
  --ttl-pagename: min(15.38vw,60px);
  --ttl-product-type: min(15.38vw,60px);
  --name-product-ja: min(5.13vw,20px);
  --name-product-en: min(5.13vw,20px);
  --fs-select-size: min(8.08vw,31.5px);
  --layer1-width: calc( 100% - 30px - var(--log-width));
  --log-width: 0;
}

@media all and (min-width: 960px) {
  :root {
    --header-height: 90px;
    --btn-height: 36px;
    --fs-header-nav: 2.0rem;
    --fs-footer-nav: 3.0rem;
    --fs-nav-info: 1.2rem;
    --log-width: 216px;
    --fs-ttl-h2: 10.0rem;
    --fs-news-title: 1.8rem;
    --fs-news-title-en: 2.0rem;
    --fs-dictionary-title-en: 4.0rem;
    --fs-dictionary-title-ja: 3.5rem;
    --fs-button-ja: 1.8rem;
    --fs-button-en: 2.0rem;
    --fs-button-m-ja: 1.6rem;
    --fs-button-m-en: 1.8rem;
    --fs-news-date: min(0.87vw,15px);
    --fs-10-10: 1.0rem;
    --fs-12-12: 1.2rem;
    --fs-12-15: 1.5rem;
    --fs-12-20: 2.0rem;
    --fs-14-24: 2.4rem;
    --fs-15-15: 1.5rem;
    --fs-16-16: 1.6rem;
    --fs-15-20: 2.0rem;
    --fs-20-30: 3.0rem;
    --fs-30: 3.0rem;
    --fs-30-60: 6.0rem;
    --fs-36-60: 6.0rem;
    --ttl-page-ja: 3.5rem;
    --ttl-page-en: 4.0rem;
    --ttl-pagename: 10.0rem;
    --fs-select-size: 3.15rem;
    --ttl-product-type: 10.0rem;
    --name-product-ja: 2.0rem;
    --name-product-en: 4.0rem;
    --item-width1: 20.72vw;
    --item-width2: 42.59vw;
    --item-height1: 13.69vw;
    --item-height2: 28.53vw;
    --item-height3: 43.4vw;
    --item-height4: 58.22vw;
    --product-info-width: 328px;
    --relative-width: 236px;
    --gap: 20px;
    --side: 0px;
    --cell-raw: calc((100vw - (var(--side) * 2) - (var(--gap) * 3)) / 4);
    /* サイズの暴走を防ぐ（任意）：最小280px～最大420pxに制限 */
    --cell: clamp(280px, var(--cell-raw), 420px);
    /* 358×236 を基準に行高を算出（縦は 236/358 ≒ 0.659） */
    --row: calc(var(--cell) * (236 / 358));
  }
}
/***
    The new CSS reset - version 1.11.2 (last updated 15.11.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

html {
  font-size: 3.125vw;
}

body {
  font-size: 14px;
  font-size: 1.4rem;
}

/* Small Devices, Tablets */
@media all and (min-width: 768px) {
  html {
    font-size: 62.5%;
  }
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/* PC */
:root {
  --vh: 100vh;
}

body {
  font-family: "GaramondPremrPro-Med", "Segoe UI", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "ＭＳ Ｐゴシック", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  overscroll-behavior-y: none;
  touch-action: manipulation;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  color: var(--color-black);
}

a {
  color: #000;
  text-decoration: none;
  text-decoration-thickness: 1px;
}

li {
  list-style: none;
}

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

.textbox {
  text-box: trim-both cap alphabetic;
}

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

.c-icon {
  position: relative;
  display: block;
}
.c-icon svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}

header#global_header {
  z-index: 10;
}

#glbnav {
  z-index: 9;
}

button[data-menu] {
  z-index: 10;
}

footer {
  z-index: 5;
}

header#global_header {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: var(--header-height);
  background: var(--color-white);
}
header#global_header .header_inner {
  width: 100%;
  height: var(--header-height);
  position: relative;
}
header#global_header h1 {
  width: 141px;
  position: absolute;
  top: 10px;
  left: 20px;
}
header#global_header nav {
  display: none;
}
header#global_header nav ul {
  display: flex;
  align-items: center;
}
header#global_header nav ul li a {
  font-size: var(--fs-header-nav);
}
header#global_header .c-search {
  position: absolute;
  right: 20px;
  top: 34px;
  display: none;
}
header#global_header .c-search .search_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 24px;
}
header#global_header .c-search .icon_search {
  width: 20px;
  height: 20px;
  position: relative;
  top: -2px;
}
header#global_header .c-search span.txt {
  font-size: var(--fs-header-nav);
  white-space: nowrap;
  font-family: "GaramondPremrPro-Med", sans-serif;
}

footer#global_footer {
  width: 100%;
  position: relative;
  border-top: 1px solid var(--color-black);
  background: var(--color-white);
  display: none;
}
footer#global_footer nav.footer_nav ul li {
  font-size: var(--fs-footer-nav);
}
footer#global_footer .nav_info .nav_info_l ul li {
  font-size: var(--fs-nav-info);
  line-height: 1.5;
  white-space: nowrap;
}
footer#global_footer .nav_info .nav_info_r ul {
  display: flex;
  align-items: center;
  column-gap: 20px;
}

main#MainContent {
  padding-top: var(--header-height);
}

button[data-menu] {
  width: 30px;
  height: 16px;
  display: block;
  position: absolute;
  right: 20px;
}
button[data-menu] span.inr {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
}
button[data-menu] span.inr span {
  width: 100%;
  height: 4px;
  display: block;
  position: absolute;
  left: 0px;
  background: var(--color-black);
}
button[data-menu] span.inr span:nth-of-type(1) {
  top: 0px;
}
button[data-menu] span.inr span:nth-of-type(2) {
  top: 12px;
}

#glbnav {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  background: var(--color-white);
  opacity: 0;
  pointer-events: none;
}
#glbnav .glbnav_inner {
  width: 100%;
  height: calc(100% - var(--header-height));
  position: absolute;
  top: var(--header-height);
  left: 0px;
  overflow-y: auto;
}
#glbnav .glbnav_inner .glbnav_content {
  width: 100%;
  padding: min(15.38vw,60px) 0;
}
#glbnav .glbnav_inner .c-list_nav ul li {
  text-align: center;
  margin-bottom: min(7.69vw,30px);
}
#glbnav .glbnav_inner .c-list_nav ul li:last-child {
  margin-bottom: 0px;
}
#glbnav .glbnav_inner .c-list_nav ul li a {
  font-size: min(10.26vw,40px);
  display: block;
  text-align: center;
  line-height: 1;
}
#glbnav .glbnav_inner .c-list_nav ul li .cols {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: min(2.56vw,10px);
}
#glbnav .glbnav_inner .c-list_nav ul li .icon_search {
  width: min(9.74vw,38px);
  height: min(9.74vw,38px);
  position: relative;
  top: max(-1.03vw,-4px);
}
#glbnav .glbnav_inner .c-list_sns {
  margin-top: min(8.97vw,35px);
}
#glbnav .glbnav_inner .c-list_sns ul {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: min(3.85vw,15px);
}
#glbnav .glbnav_inner .c-list_sns ul li .icon_fb {
  width: min(9.74vw,38px);
  height: min(9.74vw,38px);
}
#glbnav .glbnav_inner .c-list_sns ul li .icon_x {
  width: min(9.74vw,38px);
  height: min(8.72vw,34px);
}
#glbnav .glbnav_inner .c-list_sns ul li .icon_instagram {
  width: min(9.74vw,38px);
  height: min(9.74vw,38px);
}
#glbnav .glbnav_inner .c-list_info {
  display: flex;
  justify-content: center;
  margin-top: min(8.97vw,35px);
}
#glbnav .glbnav_inner .c-list_info ul li {
  font-size: var(--fs-nav-info);
  line-height: 1.83;
}

@media all and (min-width: 960px) {
  button[data-menu] {
    display: none;
  }
  header#global_header {
    border-bottom: 1px solid var(--color-black);
  }
  header#global_header h1 {
    width: 196px;
    position: absolute;
    top: 10px;
    left: 20px;
  }
  header#global_header nav {
    position: absolute;
    left: 256px;
    top: 0px;
    display: block;
  }
  header#global_header nav ul {
    display: flex;
    align-items: center;
    height: var(--header-height);
    column-gap: 30px;
  }
  header#global_header nav ul li:has(span.c-icon) {
    margin-right: 10px;
  }
  header#global_header nav ul li span.c-icon {
    width: 20px;
    height: 20px;
  }
  header#global_header .c-search {
    display: block;
  }
  header#global_header .c-search a {
    column-gap: 10px;
  }
  #glbnav {
    display: none;
  }
  footer#global_footer {
    display: block;
  }
  footer#global_footer .footer_inner {
    padding: 56px 0;
  }
  footer#global_footer .footer_content {
    width: 663px;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
  }
  footer#global_footer p.logo {
    width: 196px;
  }
  footer#global_footer .col_r {
    width: 417px;
  }
  footer#global_footer nav.footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    row-gap: 8px;
  }
  footer#global_footer nav.footer_nav ul li:has(.cols) {
    margin-left: 65px;
  }
  footer#global_footer nav.footer_nav ul li a {
    line-height: 1;
  }
  footer#global_footer nav.footer_nav ul li a span {
    line-height: 1;
    display: block;
  }
  footer#global_footer nav.footer_nav ul li .cols {
    display: flex;
    align-items: center;
    column-gap: 13px;
  }
  footer#global_footer nav.footer_nav ul li span.icon_search {
    width: 28px;
    height: 28px;
    top: -3px;
  }
  footer#global_footer .nav_info {
    display: flex;
    width: 100%;
    column-gap: 30px;
    margin-top: 20px;
  }
  footer#global_footer .nav_info .nav_info_l {
    width: 144px;
  }
  footer#global_footer .nav_info .nav_info_r {
    width: 154px;
  }
  footer#global_footer .nav_info .nav_info_r ul li .icon_fb {
    width: 38px;
    height: 38px;
  }
  footer#global_footer .nav_info .nav_info_r ul li .icon_x {
    width: 38px;
    height: 35px;
  }
  footer#global_footer .nav_info .nav_info_r ul li .icon_instagram {
    width: 38px;
    height: 38px;
  }
}
#top_content {
  backgruond: #ddd;
}

#s-log {
  display: none;
}

.c-btn {
  display: block;
  height: var(--btn-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vmax;
  cursor: pointer;
}
.c-btn.c_green {
  background: var(--color-green);
}
.c-btn.c_green span {
  color: var(--color-white);
  line-height: 1;
  position: relative;
  top: 1px;
}
.c-btn.c_green span.ja {
  font-size: var(--fs-button-ja);
}
.c-btn.c_green span.en {
  font-size: var(--fs-button-en);
  margin-left: 0.2em;
}
.c-btn.h24 {
  height: var(--btn-height-small);
}
.c-btn.h24 span {
  top: 1px;
}
.c-btn.h30 {
  height: var(--btn-height-medium);
}
.c-btn.h30 span.ja {
  font-size: var(--fs-button-m-ja);
}
.c-btn.h30 span.en {
  font-size: var(--fs-button-m-en);
  margin-left: 0.2em;
}

.c-ttl_page {
  padding: min(2.56vw,10px) 0 min(1.28vw,5px) 0;
}
.c-ttl_page h2 {
  line-height: 1;
  padding-left: min(2.56vw,10px);
}
.c-ttl_page h2 span {
  display: block;
}
.c-ttl_page h2 span.ja {
  font-size: var(--ttl-page-ja);
  line-height: 1.11;
  margin-bottom: 0.3em;
}
.c-ttl_page h2 span.ja span {
  display: inline;
}
.c-ttl_page h2 span.en {
  font-size: var(--ttl-page-en);
  line-height: 1.125;
}
.c-ttl_page.ttl_pagename h2 span.en {
  font-size: var(--ttl-pagename);
  line-height: 1;
}

[data-page] header {
  width: 100%;
  position: relative;
}
[data-page] .c-ttl_page {
  width: calc(100% - 80px);
}
[data-page] .c-content {
  width: calc(100% - 20px);
  margin-inline: auto;
}

#page_content {
  position: relative;
  width: calc(100% - 30px);
  margin-left: 30px;
}
#page_content .page_content_inner {
  width: 100%;
}
#page_content form {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
}
#page_content [data-page] {
  background: rgb(255, 255, 255);
  opacity: 0.98;
  min-height: calc(100vh - var(--header-height));
}
#page_content .c-btn_back {
  position: absolute;
  right: 20px;
  top: 0px;
}
#page_content .c-btn_back button span {
  font-size: var(--fs-30-60);
}

.has-page #top_content {
  position: fixed;
  width: 100%;
  top: var(--header-height);
  left: 0px;
}

.b-relative {
  display: none;
}

.c-list_column ul {
  padding-bottom: min(19.23vw,75px);
}
.c-list_column ul li {
  margin-bottom: min(10.26vw,40px);
}
.c-list_column ul li:last-child {
  margin-bottom: 0px;
}
.c-list_column ul li figure {
  width: 100%;
}
.c-list_column ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.c-list_column .info {
  margin-top: min(1.28vw,5px);
}
.c-list_column .info h3 span.en {
  font-size: var(--fs-news-title-en);
}
.c-list_column .info h3 span.ja {
  font-size: var(--fs-news-title);
}
.c-list_column .info p.date {
  font-size: var(--fs-news-date);
}
.c-list_column.list_shop figure {
  aspect-ratio: 1/1;
}
.c-list_column.list_product figure {
  aspect-ratio: 313/328;
}

@media all and (min-width: 960px) {
  #page_content [data-template=collection] .c-content,
  #page_content [data-page=blog] .c-content,
  #page_content [data-page=shop] .c-content {
    width: 100%;
  }
  #page_content .c-page_cols {
    width: 100%;
    display: flex;
  }
  #page_content .c-page_cols .page_cols_l {
    width: calc(100% - var(--relative-width));
  }
  #page_content .c-page_cols .page_cols_r {
    width: var(--relative-width);
    position: relative;
    display: block;
  }
  #s-log {
    position: sticky;
    left: 0px;
    top: var(--header-height);
    background: var(--color-white);
    width: var(--log-width);
    height: calc(100vh - var(--header-height));
    display: block;
    z-index: 2;
  }
  #s-log .s-inner {
    width: calc(100% - 40px);
    margin-inline: auto;
    padding: 20px 0;
  }
  #s-log .s-inner h3 {
    font-size: var(--fs-30);
  }
  #s-log .c-list_log {
    margin-top: 20px;
  }
  #s-log .c-list_log ul li {
    margin-bottom: 12px;
  }
  #s-log .c-list_log ul li:last-child {
    margin-bottom: 0px;
  }
  #s-log .c-list_log ul li span {
    display: block;
    line-height: 1.5;
  }
  #s-log .c-list_log ul li span.ja {
    font-size: var(--fs-10-10);
  }
  #s-log .c-list_log ul li span.en {
    font-size: var(--fs-12-12);
  }
  .c-ttl_page {
    padding: 13px 0 8px 0;
  }
  .c-ttl_page h2 {
    padding-left: 20px;
  }
  .c-ttl_page h2 span {
    display: block;
  }
  .c-ttl_page h2 span.ja {
    line-height: 1.11;
    margin-bottom: 0em;
  }
  .c-ttl_page h2 span.en {
    line-height: 1.125;
    margin-top: 1px;
  }
  .c-ttl_page.ttl_pagename {
    padding: 19px 0 19px 0;
  }
  .c-ttl_page.ttl_pagename h2 {
    padding-left: 40px;
  }
  .c-ttl_page.ttl_pagename h2 span.en {
    display: inline;
    line-height: 0.95;
  }
  [data-page]:has(.c-nav_filter) .c-ttl_page.ttl_pagename {
    padding: 21px 0 0px 0;
  }
  .has-page #top_content {
    position: fixed;
    top: var(--header-height);
    height: 100%;
    overflow: hidden;
  }
  main#MainContent .main_inner {
    width: calc(100% - var(--log-width));
    position: relative;
    left: var(--log-width);
    margin-top: calc(-100vh + var(--header-height));
  }
  [data-page] .c-ttl_page,
  [data-page] .c-content {
    width: calc(100% - 104px);
  }
  .b-relative {
    border-left: 1px solid var(--color-black);
  }
  .b-relative .relative_inner {
    padding-top: 100px;
    width: calc(100% - 40px);
    margin-inline: auto;
  }
  .b-relative h3 {
    font-size: var(--fs-12-15);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    margin-bottom: 30px;
  }
  .b-relative .c-list_relative ul li {
    margin-bottom: 12px;
  }
  .b-relative .c-list_relative ul li:last-child {
    margin-bottom: 0px;
  }
  .b-relative .c-list_relative ul li span {
    display: block;
    line-height: 1.5;
  }
  .b-relative .c-list_relative ul li span.ja {
    font-size: var(--fs-10-10);
  }
  .b-relative .c-list_relative ul li span.en {
    font-size: var(--fs-12-12);
  }
  .c-list_column {
    width: 100%;
    padding: 0 70px 0 40px;
  }
  .c-list_column ul {
    column-gap: min(2.31vw,40px);
    row-gap: min(2.31vw,40px);
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 70px;
  }
  .c-list_column ul li {
    width: calc((100% - min(6.94vw,120px)) / 4);
    margin-bottom: 0;
  }
  .c-list_column .info {
    margin-top: min(0.29vw,5px);
  }
  .c-list_column .info h3 span.en {
    font-size: var(--fs-news-title-en);
  }
  .c-list_column .info h3 span.ja {
    font-size: var(--fs-news-title);
  }
  .c-list_column .info p.date {
    font-size: var(--fs-news-date);
  }
}

/*# sourceMappingURL=common.css.map */
