/*
main pages include index, products
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

/* Document
   ========================================================================== */

html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */

a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, /* 1 */
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bodonimoda/v27/aFT07PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbvZedvJtj-V7tIaZKMN4sQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/bodonimoda/v27/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oU7awIA.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosanstc/v37/-nFuOG829Oofr2wohFbTp9ifNAn722rq0MXz7_6y_Co.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosanstc/v37/-nFuOG829Oofr2wohFbTp9ifNAn722rq0MXz75Ky_Co.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosanstc/v37/-nFuOG829Oofr2wohFbTp9ifNAn722rq0MXz70e1_Co.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Serif TC';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notoseriftc/v33/XLYzIZb5bJNDGYxLBibeHZ0BnHwmuanx8cUaGX8EMOpD.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Serif TC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notoseriftc/v33/XLYzIZb5bJNDGYxLBibeHZ0BnHwmuanx8cUaGX9oMOpD.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Serif TC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notoseriftc/v33/XLYzIZb5bJNDGYxLBibeHZ0BnHwmuanx8cUaGX-9N-pD.ttf) format('truetype');
}
@font-face {
  src: url("../../fonts/b6134976-dbb9-4dda-8de6-bb5400f8b3fd.eot?#iefix");
  src: url("../../fonts/b6134976-dbb9-4dda-8de6-bb5400f8b3fd.eot?#iefix") format("eot"), url("../../fonts/96cafc00-e341-4b57-a387-e65d65a0e1c8.woff2") format("woff2"), url("../fonts/8f3fbaa6-b556-47b6-958e-e7cad4358266.woff") format("woff"), url("../../fonts/9172a159-2cc5-4d49-ac79-313a45c7af51.ttf") format("truetype"), url("../../fonts/9ce84a76-e0a6-43b5-b3c3-5f52ea64dd40.svg#9ce84a76-e0a6-43b5-b3c3-5f52ea64dd40") format("svg");
  font-family: "Cochin W01 Roman";
}
@font-face {
  src: url(https://fonts.gstatic.com/s/notosanstc/v26/-nF7OG829Oofr2wohFbTp9i1HCEJ.otf) format('opentype');
  font-family: 'Cochin W01 Roman';
  unicode-range: U+2D;
}
@font-face {
  src: url('../../fonts/CochinLTStd.otf');
  font-family: 'Cochin-LT-Font';
  unicode-range: U+00-024F;
}
.serif {
  font-family: "Cochin W01 Roman", 'Noto Sans TC', "Microsoft JhengHei", serif;
}
.font-serif {
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
}
.cochin {
  font-family: "Cochin W01 Roman", "Noto Serif TC", serif;
}
.font-sans {
  font-family: "Noto Sans TC", sans-serif;
}
.base-font {
  font-family: 'Noto Sans TC', "Microsoft JhengHei", sans-serif;
}
.text-sans {
  font-family: "Noto Sans TC", sans-serif;
}
.text-bodoni {
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
}
.text-cochin {
  font-family: "Cochin W01 Roman", "Noto Serif TC", serif;
}
.rwdpic {
  aspect-ratio: calc(var(--w) / var(--h));
}
@media (max-width: 980px) {
  .rwdpic {
    aspect-ratio: calc(var(--mw) / var(--mh));
  }
}
.feature-title {
  font-size: 45px;
  line-height: 1.51111111em;
  letter-spacing: -0.04em;
}
@media (max-width: 980px) {
  .feature-title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
  }
}
.feature-subtitle {
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}
@media (max-width: 980px) {
  .feature-subtitle {
    font-size: 14px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
}
.normal-section-title {
  font-size: 28px;
  line-height: 1.5em;
  letter-spacing: 0.01em;
}
@media (max-width: 980px) {
  .normal-section-title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
  }
}
.large-paragraph {
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}
@media (max-width: 980px) {
  .large-paragraph {
    font-size: 18px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
}
.paragraph {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
}
@media (max-width: 980px) {
  .paragraph {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.note-paragraph {
  color: #999;
  font-size: 12px;
  line-height: 1.33333333em;
  letter-spacing: 0.06em;
}
.letter-loose {
  letter-spacing: 0.05em;
}
.letter-looser {
  letter-spacing: 0.17em;
}
.text-para-sm {
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
}
.text-para {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
}
.text-para-lg {
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.text-title-sm {
  font-size: 20px;
  line-height: 2em;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.text-title {
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.text-title-lg {
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-weight: 400;
}
.rwdpic {
  aspect-ratio: calc(var(--w) / var(--h));
}
@media (max-width: 980px) {
  .rwdpic {
    aspect-ratio: calc(var(--mw) / var(--mh));
  }
}
.rwdpic--contain {
  object-fit: contain;
}
.rwdpic--cover {
  object-fit: cover;
}
.rwdpic-m {
  aspect-ratio: calc(var(--w) / var(--h));
}
@media (max-width: 575px) {
  .rwdpic-m {
    aspect-ratio: calc(var(--mw) / var(--mh));
  }
}
a {
  color: inherit;
  line-height: inherit;
  text-decoration: none;
}
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}
input,
textarea,
select,
input:focus,
textarea:focus,
select:focus {
  margin: 0;
  padding: 0;
  border: none;
  outline: 0;
  background-color: transparent;
  font-family: inherit;
  -webkit-appearance: none;
  border-radius: 0;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
input[type="button"] {
  margin: 0;
  padding: 0;
  border: none;
  outline: 0;
  background-color: transparent;
  font-family: inherit;
  cursor: pointer;
}
*:focus {
  outline: 0;
}
img {
  max-width: 100%;
}
body,
html {
  font-family: "Noto Sans TC", sans-serif;
}
@media (max-width: 980px) {
  body,
  html {
    font-size: 12px;
  }
}
@media (max-width: 575px) {
  body,
  html {
    font-size: 10px;
  }
}
picture {
  display: block;
}
picture img {
  display: block;
  max-width: 100%;
}
@media (max-width: 980px) {
  picture img {
    margin-left: auto;
    margin-right: auto;
  }
}
.clearfix {
  display: table;
  width: 100%;
  height: 0;
  clear: both;
}
.sentence {
  display: inline-block;
}
.hide-title {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  white-space: nowrap;
}
.txt-center {
  text-align: center;
}
.hidden {
  display: none !important;
}
@media (min-width: 980px) {
  .pc-hide {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .pc-show {
    display: none!important;
  }
}
@media (max-width: 980px) {
  .mb-hide {
    display: none !important;
  }
}
@media (min-width: 575px) {
  .tablet-hide {
    display: none!important;
  }
}
@media (min-width: 575px) {
  .atmobile-show {
    display: none!important;
  }
}
@media (max-width: 575px) {
  .atmobile-hide {
    display: none!important;
  }
}
@media (max-width: 980px) {
  .mb-rerange {
    display: flex;
    flex-direction: column;
  }
  .mb-rerange-1 {
    order: 1 !important;
  }
  .mb-rerange-2 {
    order: 2 !important;
  }
  .mb-rerange-3 {
    order: 3 !important;
  }
  .mb-rerange-4 {
    order: 4 !important;
  }
}
.mobile-left {
  text-align: left !important;
}
@media (max-width: 980px) {
  .mobile-hide {
    display: none !important;
  }
  .mobile-left {
    text-align: left !important;
  }
}
/* older version */
.inner {
  padding: 0 50px;
}
.inner.news,
.inner.column,
.inner.faq,
.inner.tvcm,
.inner.mid {
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 980px) {
  .inner.news,
  .inner.column,
  .inner.faq,
  .inner.tvcm,
  .inner.mid {
    padding: 0;
  }
}
.content-wrap {
  min-width: 960px;
  padding-top: 100px;
  overflow: hidden;
  line-height: 150%;
}
@media (max-width: 980px) {
  .content-wrap {
    padding-top: 108px;
  }
}
@media (max-width: 575px) {
  .content-wrap {
    padding-top: 100px;
  }
}
.content-wrap--clip {
  overflow: clip;
}
.content-wrap.nopad {
  position: relative;
  z-index: 1;
  padding-top: 60px;
}
@media (max-width: 980px) {
  .content-wrap.nopad {
    padding-top: 88px;
  }
}
@media (max-width: 575px) {
  .content-wrap.nopad {
    padding-top: 80px;
  }
}
@media (max-width: 980px) {
  .content-wrap {
    position: relative;
    min-width: 320px;
  }
}
.header-news--open .content-wrap {
  padding-top: 138px;
}
@media (max-width: 980px) {
  .header-news--open .content-wrap {
    padding-top: 146px;
  }
}
@media (max-width: 575px) {
  .header-news--open .content-wrap {
    padding-top: 128px;
  }
}
.header-news--open .content-wrap.nopad {
  padding-top: 98px;
}
@media (max-width: 980px) {
  .header-news--open .content-wrap.nopad {
    padding-top: 126px;
  }
}
@media (max-width: 575px) {
  .header-news--open .content-wrap.nopad {
    padding-top: 108px;
  }
}
.pagebottom-wrap {
  display: block;
  overflow: hidden;
  background-color: white;
}
.pagewrap {
  max-width: 1200px;
  margin: 0 auto;
}
/* after 2023 */
.base-section {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 980px) {
  .base-section {
    padding-top: 13vw;
    padding-bottom: 13vw;
  }
}
.base-section--pt-0 {
  padding-top: 0;
}
.base-section--pb-0 {
  padding-bottom: 0;
}
.base-section--py-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.base-inner {
  z-index: 1;
  position: relative;
  max-width: 1200px;
  margin: auto;
}
@media (max-width: 980px) {
  .base-inner {
    width: 95%;
  }
}
.base-inner--lg {
  max-width: 1250px;
  padding: 0 50px;
}
@media (max-width: 980px) {
  .base-inner--lg {
    padding: 0;
  }
}
@media (max-width: 980px) {
  .base-inner--mb-more-px {
    padding-left: 32px;
    padding-right: 32px;
    width: auto;
  }
}
@media (max-width: 980px) {
  .base-inner--mb-full {
    width: 100%;
  }
}
.base-container {
  padding: 0 20px;
}
/*-------------
particles
hover with line
clearfix
sentence
hide-title
button
reservation-btn
inline-link
more-btn
more-circle-arrow
pic-title
stoke-text
collection
pd-card
video
link-banner
title-bn
heading (border top & bottom)
addition qa

----------------*/
.particletext {
  position: relative;
  text-align: center;
}
.hearts .particle {
  position: absolute;
  background-color: #f8b2ba;
  animation: hearts 6s ease-in infinite;
  opacity: 0;
}
.hearts .particle:before,
.hearts .particle:after {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background-color: #f8b2ba;
  content: "";
}
.hearts .particle:before {
  transform: translateX(-50%);
}
.hearts .particle:after {
  transform: translateY(-50%);
}
@keyframes hearts {
  0% {
    transform: translate(0, 0%) rotate(45deg);
    opacity: 0;
  }
  6% {
    transform: translate(0, -20%) rotate(45deg);
    opacity: 0.8;
  }
  30% {
    transform: translate(0, -1000%) rotate(45deg);
    opacity: 0;
  }
}
/* before 2023 start */
.more-link {
  display: block;
  width: 130px;
  margin: 0 auto;
  padding: 8px 0;
  border: 1px solid #ccc;
  font-size: 1.2em;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.more-link:before {
  display: inline-block;
  width: 5px;
  height: 8px;
  margin: 0 15px 0 0;
  background: url(../../images/linkArrow.svg) no-repeat 0 0;
  background-size: 100%;
  content: "";
}
.more-link:hover {
  border-color: #f8b2ba;
  background: #f8b2ba;
  color: white;
}
.more-link:hover:before {
  background-image: url(../../images/linkArrow2.svg);
}
.more-link--darken {
  border-color: #8a8687;
  color: #8a8687;
}
.more-link--darken:hover {
  border-color: #8a8687;
  background-color: #8a8687;
}
.btns {
  margin: 0;
}
.btns .new-btn {
  display: inline-block;
}
.btns--center {
  text-align: center;
}
.more-btn {
  display: inline-block;
  position: relative;
  padding: 8px 15px 8px 24px;
  border: 1px solid #8a8687;
  color: #5e5452;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.075em;
  transition: background ease 0.4s, color ease 0.4s;
}
.more-btn:after {
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 5px;
  height: 5px;
  margin-top: -3px;
  transform: rotate(-45deg);
  border-right: 1px solid #483d3e;
  border-bottom: 1px solid #483d3e;
  content: "";
}
.more-btn:hover {
  background: #8a8687;
  color: white;
}
.more-btn:hover:after {
  border-right: 1px solid white;
  border-bottom: 1px solid white;
}
.more-btn--normal {
  width: 120px;
  font-size: 1.4rem;
}
.more-btn--normal:after {
  left: 10px;
}
@media (max-width: 980px) {
  .more-btn {
    padding: 2vw 4vw 2vw 8vw;
    border: 1px solid #ccd8ea;
    border-radius: 3px;
    font-size: 3.8vw;
  }
  .more-btn:after {
    left: 2vw;
  }
}
.new-btn {
  display: block;
  position: relative;
  box-sizing: border-box;
  min-width: 120px;
  padding: 7px 0 7px 18px;
  border: 1px solid #ccc;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.new-btn:before {
  display: block;
  position: absolute;
  top: 10px;
  left: 8px;
  box-sizing: border-box;
  z-index: 2;
  width: 10px;
  height: 8px;
  border: 1px solid #ADADAD;
  background-color: white;
  content: "";
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.new-btn:after {
  display: block;
  position: absolute;
  top: 13px;
  left: 12px;
  box-sizing: border-box;
  z-index: 1;
  width: 10px;
  height: 8px;
  border: 1px solid #ADADAD;
  background-color: white;
  content: "";
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.new-btn:hover {
  border-color: #f8b2ba;
  background-color: #f8b2ba;
  color: white;
}
.new-btn:hover:before,
.new-btn:hover:after {
  border-color: white;
  background-color: #f8b2ba;
}
.new-btn--darken {
  border: 1px solid #ccc;
}
.new-btn--darken:hover {
  border-color: #4c4c4c;
  background: #4c4c4c;
  color: #fff;
}
.new-btn--darken:hover:before,
.new-btn--darken:hover:after {
  border-color: white;
  background-color: #4c4c4c;
}
.cate__btn {
  display: block;
  text-align: center;
  width: 100%;
}
.cate__btn a {
  display: inline-block;
  text-align: center;
  font-size: 1.2em;
  line-height: 36px;
  height: 36px;
  width: 220px;
  margin: 55px auto 0;
  padding: 0px 0;
  letter-spacing: 1px;
  background-color: #463D3E;
  color: white;
  border-radius: 3px;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.cate__btn a .btn-text {
  display: inline-block;
  background-image: url(../../images/ic-arrow-07.png);
  background-size: 4px auto;
  background-repeat: no-repeat;
  background-position: 0 50%;
  padding: 0 0 0 24px;
}
.cate__btn a:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.cate__btn a:hover .btn-text {
  text-decoration: underline;
}
.cate__btn--cols {
  display: flex;
  flex-direction: column;
  margin-top: 50px;
}
.cate__btn--cols a {
  margin-top: 0;
}
.cate__btn--cols a + a {
  margin-top: 5px;
}
@media (max-width: 575px) {
  .cate__btn {
    width: 100%;
    margin: 0;
    float: none;
  }
  .cate__btn a {
    display: inline-block;
    width: auto;
    margin: 0 auto;
    padding: 13px 28px;
    font-size: 1em;
    border-radius: 2px;
    -moz-background-clip: padding;
    background-clip: padding-box;
  }
  .cate__btn--cols {
    margin-top: 7vmin;
  }
  .cate__btn--cols a {
    height: auto;
    font-size: 14px;
    line-height: 1em;
  }
}
@media (max-width: 575px) and (max-width: 575px) {
  .cate__btn--cols a {
    font-size: 3.73vmin;
  }
}
.cover-btn {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
}
.clearfix {
  display: table;
  width: 100%;
  height: 0;
  clear: both;
}
.sentence {
  display: inline-block;
}
.hide-title {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  white-space: nowrap;
}
a.ext-link {
  display: inline-block;
  color: #999;
  font-size: 12px;
  text-decoration: underline;
  transition: color 0.3s;
}
a.ext-link:hover {
  color: #FFDCDB;
}
/* before 2023 end */
.button {
  box-sizing: border-box;
  display: inline-block;
  padding: 0.92307692em 1.53846154em 0.84615385em 1.53846154em;
  border: 1px solid #453536;
  border-radius: 1.61538462em;
  background-color: #453536;
  color: white;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.53846154em;
  letter-spacing: 0.04em;
  text-align: center;
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 980px) {
  .button {
    font-size: 12px;
  }
}
.button:hover {
  border: 1px solid #453536;
  background-color: white;
  color: #453536;
  cursor: pointer;
}
.button--outline {
  border: 1px solid #453536;
  background-color: white;
  color: #453536;
}
.button--outline:hover {
  border: 1px solid #453536;
  background-color: #453536;
  color: white;
}
.button--highlight {
  border: 1px solid #ef9cab;
  background-color: white;
  color: #453536;
}
.button--highlight:hover {
  border: 1px solid #ef9cab;
  background-color: #ef9cab;
  color: white;
}
.button--light {
  border-color: #796e65;
  background-color: #796e65;
}
.button--light:hover {
  border: 1px solid #796e65;
  background-color: white;
  color: #796e65;
  cursor: pointer;
}
.button--light-outline {
  border-color: #796e65;
  background-color: white;
  color: #796e65;
  cursor: pointer;
}
.button--light-outline:hover {
  border: 1px solid #796e65;
  background-color: #796e65;
  color: white;
}
.button--light-reverse {
  border-color: white;
  background-color: white;
  color: #414141;
}
.button--light-reverse:hover {
  border-color: #796e65;
  background-color: #796e65;
  color: white;
}
.button--md {
  min-width: 190px;
}
.button__align-center {
  text-align: center;
}
.button--full {
  width: 100%;
}
.buttons-line {
  display: flex;
  justify-content: center;
}
.buttons-line .button {
  margin: 5px;
}
.reservation-btn {
  box-sizing: border-box;
  display: inline-block;
  border: 1px solid #ef9cab;
  background-color: #ef9cab;
  color: #453536;
  font-weight: 400;
  font-size: 13px;
  line-height: 80px;
  letter-spacing: 0.04em;
  text-align: center;
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 980px) {
  .reservation-btn {
    font-size: 12px;
    line-height: 60px;
    border-radius: 28px;
  }
}
.reservation-btn:hover {
  border: 1px solid #453536;
  background-color: #453536;
  color: white;
  cursor: pointer;
}
.reservation-btn--reverse {
  border: 1px solid #453536;
  background-color: white;
}
.reservation-btn--reverse:hover {
  border: 1px solid #453536;
  background-color: white;
  color: #453536;
  cursor: pointer;
}
.inline-link {
  color: #999;
  font-size: 12px;
  line-height: 1.33333333em;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 10px;
  text-decoration: underline;
  transition: opacity 0.3s;
}
.inline-link:hover {
  opacity: 0.8;
}
.more-btn {
  display: inline-block;
  position: relative;
  padding: 12px 50px 11px;
  overflow: hidden;
  border: 1px solid #8a8687;
  border-radius: 21px;
  color: #5e5452;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.075em;
  transition: background ease 0.4s, color ease 0.4s;
}
.more-btn:after {
  display: none;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 5px;
  height: 5px;
  margin-top: -3px;
  transform: rotate(-45deg);
  border-right: 1px solid #483d3e;
  border-bottom: 1px solid #483d3e;
  content: '';
}
.more-btn:hover {
  background: #453536;
  color: white;
}
.more-btn:hover:after {
  border-right: 1px solid white;
  border-bottom: 1px solid white;
}
.more-btn--normal {
  width: 120px;
  font-size: 1.4rem;
}
.more-btn--normal:after {
  left: 10px;
}
@media (max-width: 980px) {
  .more-btn {
    padding: 0.5em 1em 0.5em 2em;
    border-radius: 3px;
    font-size: 14px;
    border: 1px solid #ccd8ea;
    max-width: 150px;
  }
  .more-btn:after {
    left: 0.5em;
  }
}
.more-btn.serif,
.more-btn--serif {
  font-family: "Cochin W01 Roman", "Noto Serif TC", serif;
}
.more-btn--mb-center {
  text-align: center;
}
@media (max-width: 980px) {
  .more-btn--mb-center {
    display: block;
    width: 40vw;
    margin-left: auto;
    margin-right: auto;
    border-color: #ccc;
  }
}
.more-circle-arrow {
  display: flex;
  align-items: center;
  margin: auto;
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
}
@media (max-width: 980px) {
  .more-circle-arrow {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.more-circle-arrow .icon {
  display: block;
  width: 0.92857143em;
  height: 0.92857143em;
  margin-top: 1px;
  margin-left: 0.57142857em;
  transition: transform 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.more-circle-arrow:hover .icon,
a:hover .more-circle-arrow .icon {
  transform: translate(5px, 0);
}
.more-circle-arrow--center {
  justify-content: center;
}
.pic-title {
  display: block;
  max-width: 100%;
  margin: auto;
}
.stroke-text {
  display: block;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  line-height: 1.66666667em;
}
.stroke-text:hover > .text-line {
  background-size: 100% 100%;
}
.aos-animate .stroke-text > .text-line {
  background-size: 100% 100%;
  transition-delay: 0.5s;
}
.stroke-text.active > .text-line {
  background-size: 100% 100%;
}
.stroke-text .text-line {
  box-sizing: border-box;
  position: relative;
  padding: 0.2em 0.6em;
  background-image: linear-gradient(transparent 44%, white 0);
  background-size: 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.8s;
}
.stroke-text--under-reverse .text-line {
  padding: 0;
  background: transparent;
}
.stroke-text--under-reverse .text-line:after {
  display: block;
  position: absolute;
  right: 0;
  bottom: -5px;
  width: 100%;
  height: 0;
  border-bottom: 1px solid black;
  content: "";
  transition: width 0.5s;
}
.stroke-text--under-reverse:hover .text-line:after,
.stroke-text--under-reverse.active .text-line:after {
  width: 0;
}
.collection-widget {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
.collection-widget a {
  display: block;
}
.collection-widget__title {
  font-weight: normal;
}
.collection-widget p {
  font-weight: normal;
  margin: 0;
  padding: 0;
}
.collection-widget__list {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 1250px;
  padding: 0px 25px;
  list-style: none;
}
@media (max-width: 980px) {
  .collection-widget__list {
    flex-wrap: wrap;
    padding: 0px;
  }
}
.collection-widget__item {
  box-sizing: border-box;
  aspect-ratio: 1.5;
  width: 25%;
}
@media (max-width: 980px) {
  .collection-widget__item {
    width: 50%;
    aspect-ratio: 0.83;
  }
}
.collection-widget__item--1 {
  background-image: url(../../images/collection/engagement-hover.png);
}
.collection-widget__item--2 {
  background-image: url(../../images/collection/marriage-hover.png);
}
.collection-widget__item--3 {
  background-image: url(../../images/collection/set-hover.png);
}
.collection-widget__item--4 {
  background-image: url(../../images/collection/eternity-hover.png);
}
@media (max-width: 980px) {
  .collection-widget__item {
    background-image: none;
  }
}
.collection-widget__href {
  box-sizing: border-box;
  z-index: 0;
  position: relative;
  width: 100%;
  height: 100%;
}
.collection-widget__href::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-position: center;
  background-size: cover;
  content: '';
  opacity: 1;
  transition: all 0.4s;
}
@media (max-width: 980px) {
  .collection-widget__href::after {
    background-size: 120%;
    background-repeat: no-repeat;
    background-position-y: 70%;
  }
}
.collection-widget__href--1::after {
  background-image: url('../../images/collection/engagement.png');
}
.collection-widget__href--2::after {
  background-image: url('../../images/collection/marriage.png');
}
.collection-widget__href--3::after {
  background-image: url('../../images/collection/set.png');
}
.collection-widget__href--4::after {
  background-image: url('../../images/collection/eternity.png');
}
.collection-widget__href:hover::after {
  opacity: 0;
}
@media (max-width: 980px) {
  .collection-widget__href:hover::after {
    opacity: 1;
  }
}
.collection-widget__href:hover p {
  color: white;
  transition: all 0.4s;
}
@media (max-width: 980px) {
  .collection-widget__href:hover p {
    color: #333333;
  }
}
.collection-widget__text-wrap {
  box-sizing: border-box;
  z-index: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 24px;
  text-align: center;
}
@media (max-width: 980px) {
  .collection-widget__text-wrap {
    padding-bottom: 0px;
  }
}
.collection-widget__title {
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 28px;
  line-height: 1.5em;
  letter-spacing: 0.01em;
  box-sizing: border-box;
}
@media (max-width: 980px) {
  .collection-widget__title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
  }
}
.collection-widget__subtitle {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  box-sizing: border-box;
}
@media (max-width: 980px) {
  .collection-widget__subtitle {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.collection-widget__text {
  box-sizing: border-box;
  font-size: 1.2rem;
  line-height: 1.2;
}
.collection-widget__more-wrap {
  box-sizing: border-box;
  display: none;
}
@media (max-width: 980px) {
  .collection-widget__more-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
  }
}
.collection-widget__more-text {
  box-sizing: border-box;
  margin-right: 15px;
  font-size: 1.2rem;
  line-height: 1.2;
}
.pd-card {
  display: block;
}
.pd-card__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0;
  list-style: none;
}
@media (max-width: 980px) {
  .pd-card__list {
    display: block;
  }
}
.pd-card__item {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 32.5%;
  margin: 1.25% 1.25% 0 0;
  padding: 45px 50px 70px 50px;
  border: 1px solid #e5e5e5;
}
.pd-card__item:nth-child(3n) {
  margin-right: 0;
}
@media (max-width: 980px) {
  .pd-card__item {
    width: 100%;
    margin-top: 10px;
    margin-right: 0;
    padding: 40px 30px 20px 30px;
  }
}
.pd-card__theme {
  display: block;
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5em;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (max-width: 980px) {
  .pd-card__theme {
    font-size: 15px;
  }
}
.pd-card__pic {
  display: block;
  width: 100%;
  height: 150px;
}
.pd-card__pic img {
  display: block;
  height: 100%;
  margin: auto;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 980px) {
  .pd-card__pic {
    height: 140px;
  }
}
.pd-card__name {
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.06em;
  text-align: center;
}
@media (max-width: 980px) {
  .pd-card__name {
    font-size: 13px;
    margin-top: -20px;
  }
}
.pd-card__name--no-mar {
  margin: 0px;
}
.pd-card__desc {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  font-weight: 700;
}
@media (max-width: 980px) {
  .pd-card__desc {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
@media (max-width: 980px) {
  .pd-card__desc {
    font-size: 1.5em;
  }
}
.pd-card__desc--normal {
  font-weight: normal;
  font-size: 13px;
}
.pd-card__more {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
  text-align: center;
}
@media (max-width: 980px) {
  .pd-card__more {
    position: relative;
    bottom: 0;
  }
}
.pd-card__more .text {
  margin-right: 1rem;
}
@media (max-width: 980px) {
  .pd-card__more .text {
    margin-right: 0.5rem;
  }
}
.video {
  width: 100%;
}
.video__container {
  position: relative;
  padding-bottom: 56.25%;
}
.video__container iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.link-banner__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
.link-banner__block {
  position: relative;
  width: 100%;
  margin-bottom: 1.6%;
  overflow: hidden;
  text-align: center;
}
@media (max-width: 980px) {
  .link-banner__block {
    margin-bottom: 8vw;
  }
}
.link-banner__block--right .link-banner__cont {
  right: 0;
  left: auto;
}
.link-banner__block--half {
  width: 49.2%;
}
.link-banner__block--half .link-banner__cont {
  left: 11%;
  text-align: left;
}
@media (max-width: 980px) {
  .link-banner__block--half .link-banner__cont {
    left: 7%;
  }
}
.link-banner__block--half.link-banner__block--right .link-banner__cont {
  right: 0;
  left: auto;
  width: 40%;
}
@media (max-width: 980px) {
  .link-banner__block--half {
    width: 100%;
  }
}
.link-banner picture {
  display: block;
  width: 100%;
}
.link-banner__bg {
  display: block;
  width: 100%;
  transition: transform 0.45s;
}
.link-banner__block:hover .link-banner__bg {
  transform: scale(1.1);
}
.link-banner__link {
  display: block;
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.link-banner__link:hover .text-line:after {
  width: 0;
}
.link-banner__cont {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  text-align: center;
}
@media (max-width: 980px) {
  .link-banner__cont {
    width: 100%;
  }
}
.link-banner .name {
  font-size: 28px;
  line-height: 1.5em;
  letter-spacing: 0.01em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  display: block;
  position: absolute;
  top: 30%;
  width: 100%;
  font-weight: 500;
}
@media (max-width: 980px) {
  .link-banner .name {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
  }
}
@media (max-width: 980px) {
  .link-banner .name {
    top: 5vw;
  }
}
.link-banner .text {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  display: block;
  position: absolute;
  bottom: 25.75%;
  width: 100%;
}
@media (max-width: 980px) {
  .link-banner .text {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
@media (max-width: 980px) {
  .link-banner .text {
    bottom: 5vw;
  }
}
.link-banner__cont--sm {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}
.link-banner__cont--sm .name {
  top: 30.76923077%;
}
@media (max-width: 980px) {
  .link-banner__cont--sm .name {
    top: 8vw;
    position: relative;
    top: 0;
    margin-bottom: 5vw;
  }
}
.link-banner__cont--sm .text {
  bottom: 13.46153846%;
}
@media (max-width: 980px) {
  .link-banner__cont--sm .text {
    bottom: 5vw;
    position: relative;
    bottom: 0;
  }
}
.title-bn {
  display: block;
  position: relative;
}
.title-bn:before {
  display: block;
  z-index: 1;
  position: absolute;
  right: -50vw;
  bottom: 0;
  left: -50vw;
  height: 230px;
  background-color: #b2aba2;
  content: "";
}
@media (max-width: 980px) {
  .title-bn:before {
    display: none;
  }
}
.title-bn__inner {
  display: flex;
  z-index: 2;
  position: relative;
  width: 95%;
  max-width: 1250px;
  margin: auto;
  overflow: hidden;
}
@media (max-width: 980px) {
  .title-bn__inner {
    width: 100%;
    display: block;
  }
}
.title-bn__photo {
  position: relative;
  width: 64%;
}
.title-bn__photo img {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 980px) {
  .title-bn__photo {
    width: 100%;
  }
}
.title-bn__main {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 36%;
}
@media (max-width: 980px) {
  .title-bn__main {
    width: 100%;
  }
}
.title-bn__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 230px;
  margin: 0;
}
@media (max-width: 980px) {
  .title-bn__title {
    display: block;
    text-align: center;
    height: auto;
    padding: 20px 0;
  }
}
.title-bn__title .main-text {
  font-size: 45px;
  line-height: 1.51111111em;
  letter-spacing: -0.04em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  display: block;
  color: #f1efed;
  font-weight: 300;
  font-size: 56px;
  line-height: 1em;
  letter-spacing: 0.02em;
}
@media (max-width: 980px) {
  .title-bn__title .main-text {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
  }
}
@media (max-width: 980px) {
  .title-bn__title .main-text {
    font-size: 32px;
  }
}
.title-bn__title .sub-text {
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  display: block;
  margin-top: 20px;
  font-weight: 500;
}
@media (max-width: 980px) {
  .title-bn__title .sub-text {
    font-size: 14px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
}
@media (max-width: 980px) {
  .title-bn__title .sub-text {
    margin-top: 0.3em;
  }
}
.title-bn__cont {
  display: flex;
  align-items: center;
  height: 230px;
}
@media (max-width: 980px) {
  .title-bn__cont {
    display: block;
    height: auto;
    background-color: #b2aba2;
    padding: 24px 0;
    text-align: center;
  }
}
.title-bn__desc {
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  color: white;
}
@media (max-width: 980px) {
  .title-bn__desc {
    font-size: 14px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
}
.heading {
  line-height: 1.5em;
  letter-spacing: 0.05em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  max-width: 550px;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding: 20px 0;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  font-weight: 500;
  font-size: 24px;
  line-height: 1em;
  text-align: center;
}
@media (max-width: 980px) {
  .heading {
    font-size: 18px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
}
@media (max-width: 980px) {
  .heading {
    padding: 16px 0;
  }
}
.heading .sub {
  display: block;
  margin-top: 1em;
  font-size: 0.8em;
}
.addition-qa {
  margin-top: 1em;
  color: #999;
  font-size: 12px;
  line-height: 1.33333333em;
  letter-spacing: 0.06em;
}
.pdlist__tag {
  display: block;
  position: absolute;
  top: 3%;
  left: 3%;
  z-index: 2;
  width: 45px;
  height: 45px;
  background-color: #EBAAB9;
  color: white;
  font-size: 10px;
  font-size: 1rem;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 50%;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.pdlist__tag:after {
  display: inline-block;
  width: 0;
  height: 100%;
  vertical-align: middle;
}
.pdlist__tag .tag-text {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  line-height: 1.2em;
  text-align: center;
  vertical-align: middle;
  white-space: normal;
}
.pdlist__tag--year {
  background-color: #d4cce5;
}
.pdlist__tag--etoile {
  background-color: #d3d3d4;
}
.pdlist__tag--comet {
  background-color: #c9d8ef;
}
.pdlist__tag--comet .tag-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
}
.pdlist__tag--new_color {
  background-color: #dac185;
}
.pdlist__tag--hot {
  background-color: #453536;
}
.pdlist__tag--custom {
  background-color: #adcee0;
}
@media (max-width: 980px) {
  .pdlist__tag {
    top: 1%;
    left: 1%;
    width: 46px;
    height: 46px;
    transform: scale(0.75);
  }
  .pdlist__tag .tag-text {
    font-size: 1rem;
  }
}
/*-------------
header
nav
footer
menu
main visual
page top
fixed banner
page info & crumb
side
article section
reservation widget
shop banner
search module
fixed link
ratio
product-view pd list banner item
lineup
lightbox series
small-menu
followus
2 cols staggered block
contents 2 rows and cols
pagebanner
pager
guide
crosslink
choice
legend
----------------*/
.mainvisual__wrap {
  padding: 0 50px;
}
.mainvisual {
  display: block;
  position: relative;
  z-index: 0;
  max-width: 1380px;
  margin: 0 auto;
}
.mainvisual__slider {
  width: 100%;
}
.mainvisual__slider .slick-slide a {
  display: block;
}
.mainvisual__slide {
  background-color: white;
}
.mainvisual__slide picture,
.mainvisual__slide img {
  width: 100%;
  height: auto;
}
.mainvisual__slide-info {
  height: 38px;
  margin-top: 20px;
}
.mainvisual__slide-info .slide-title {
  margin: 0;
  padding-top: 6px;
  float: left;
  color: #333;
  font-size: 1.4em;
  letter-spacing: 0.15em;
}
.mainvisual__slide-info .slide-more-btn {
  display: block;
  width: 130px;
  padding: 8px 0;
  float: right;
  border: 1px solid #ccc;
  font-size: 1.2em;
  letter-spacing: 0.05em;
  text-align: center;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.mainvisual__slide-info .slide-more-btn:before {
  display: inline-block;
  width: 5px;
  height: 8px;
  margin: 0 15px 0 0;
  background: url(../../../images/linkArrow.svg) no-repeat 0 0;
  background-size: 100%;
  content: "";
}
.mainvisual__slide-info .slide-more-btn:hover {
  border-color: #f8b2ba;
  background-color: #f8b2ba;
  color: white;
}
.mainvisual__slide-info .slide-more-btn:hover:before {
  background-image: url(../../../images/linkArrow2.svg);
}
.slick-dots {
  position: relative;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  display: inline-block;
  margin-top: 8px;
  padding: 1px;
  border: 1px solid #fff;
  border-radius: 50%;
}
.slick-dots li button {
  display: block;
  width: 5px;
  height: 5px;
  padding: 0;
  overflow: hidden;
  border: none;
  border-radius: 50%;
  background-color: #e1e1e1;
  text-indent: 500%;
}
.slick-dots li.slick-active {
  border-color: #ee86a8;
}
.slick-dots li.slick-active button {
  background-color: #ee86a8;
}
.mainvisual__control {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
}
.mainvisual__control .slick-prev,
.mainvisual__control .slick-next {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../../../images/ic-prev.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}
.mainvisual__control .slick-next {
  order: 3;
  transform: rotate(180deg);
}
.mainvisual__control .slick-dots {
  order: 2;
  margin: 0 20px;
  line-height: 6px;
}
.mainvisual__control .slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0 7px;
  padding: 0;
  border: none;
  vertical-align: middle;
}
.mainvisual__control .slick-dots li button {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #e8e5e5;
}
.mainvisual__control .slick-dots li.slick-active button {
  background-color: #ad9895;
}
.mainvisual__list {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mainvisual__item {
  margin-top: 30px;
  text-align: center;
}
.mainvisual__btn {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 255px;
  height: 160px;
  padding-top: 110px;
  border: 1px solid #e4e4e4;
  text-decoration: none;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.mainvisual__btn:before {
  display: block;
  position: absolute;
  top: 11px;
  left: 10px;
  width: 236px;
  height: 140px;
  border: 1px solid #FFFEFC;
  z-index: 3;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.mainvisual__btn:after {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  width: 255px;
  height: 160px;
  background-color: rgba(255, 255, 255, 0);
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.mainvisual__btn:hover:before {
  border-color: #F7C5C8;
}
.mainvisual__btn:hover:after {
  background-color: rgba(255, 255, 255, 0.8);
}
.mainvisual__btn picture {
  display: block;
  position: absolute;
  top: 55px;
  right: 0;
  left: 0;
  z-index: 1;
  margin: 0 auto;
}
.mainvisual__btn .eng-text {
  display: block;
  position: relative;
  z-index: 3;
  margin-bottom: 3px;
  color: rgba(51, 25, 0, 0.5);
  font-size: 1.412em;
  line-height: 100%;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.mainvisual__btn .cht-text {
  position: relative;
  z-index: 3;
  color: #555;
  font-size: 1.2em;
  line-height: 120%;
  letter-spacing: 0.32em;
}
.pagebottom-wrap {
  display: block;
  overflow: hidden;
  background-color: white;
}
@media (max-width: 980px) {
  .pagebottom__btns {
    margin-top: 25px;
    padding: 0 3%;
  }
  .pagebottom__btns--closetop {
    margin-top: 0;
  }
}
.fixed-banner {
  position: fixed;
  right: 3%;
  bottom: 0;
  transition: bottom 0.3s;
  z-index: 9990;
  width: 380px;
}
.fixed-banner.reached-bottom {
  bottom: 35px !important;
}
@media (max-width: 980px) {
  .fixed-banner.reached-bottom {
    bottom: 55px !important;
  }
}
.fixed-banner.center {
  right: auto;
  bottom: 0;
  left: 50%;
  margin-left: -190px;
}
.fixed-banner.left {
  right: auto;
  bottom: 0;
  left: 3%;
  margin-left: 0;
}
.fixed-banner.right {
  right: 5%;
  bottom: 0;
  left: auto;
  margin-right: 0;
}
.fixed-banner img {
  display: block;
  width: 100%;
}
.fixed-banner .close-btn {
  display: block;
  position: absolute;
  top: -8px;
  left: -8px;
  z-index: 10;
  width: 15px;
  height: 15px;
  transform: rotate(45deg);
  border-radius: 50%;
  background-color: white;
}
.fixed-banner .close-btn:after,
.fixed-banner .close-btn:before {
  display: block;
  position: absolute;
  background-color: #8d8d8d;
  content: "";
}
.fixed-banner .close-btn:before {
  top: 7px;
  left: 2px;
  width: 11px;
  height: 1px;
}
.fixed-banner .close-btn:after {
  top: 2px;
  left: 7px;
  width: 1px;
  height: 11px;
}
@media (max-width: 980px) {
  .fixed-banner {
    z-index: 9990;
    position: fixed;
    right: 50%;
    bottom: 0;
    width: 304px;
    margin-right: -152px;
  }
  .fixed-banner.center,
  .fixed-banner.left,
  .fixed-banner.right {
    right: auto;
    bottom: 0;
    left: 50%;
    margin-right: auto;
    margin-left: -152px;
  }
  .fixed-banner img {
    display: block;
    width: 100%;
  }
}
@media (max-width: 575px) {
  .fixed-banner.center,
  .fixed-banner.left,
  .fixed-banner.right {
    right: auto;
    left: 43%;
    bottom: 8%;
  }
}
.pageinfo {
  margin: 40px 0 15px;
  white-space: nowrap;
  overflow-x: auto;
}
.pageinfo__title {
  margin: 0 0 1rem 0;
  padding: 0;
  color: #999;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
@media (max-width: 980px) {
  .pageinfo__title {
    padding: 0;
  }
}
.crumb {
  display: inline-block;
}
.crumb__list {
  margin: 0 0 1rem 0;
  padding: 0;
  list-style: none;
}
.crumb__item {
  display: inline-block;
  vertical-align: middle;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  font-weight: 300;
  line-height: 1.5em;
}
.crumb__item + .crumb__item:before {
  margin: 0 7px 0 5px;
  content: ">";
}
.crumb__item a {
  color: #999;
}
.crumb__item a:hover {
  text-decoration: underline;
}
.crumb__item .now-text {
  color: #999;
}
@media (max-width: 980px) {
  .pageinfo__wrap {
    display: block;
    position: relative;
    padding: 0 7%;
    margin-bottom: 3rem;
  }
  .pageinfo {
    box-sizing: border-box;
    display: block;
    margin: 0;
    padding: 0;
  }
  .crumb {
    padding: 0;
  }
  .crumb__item {
    color: #999;
  }
  .crumb__item + .crumb__item:before {
    margin: 0 5px 0 5px;
  }
  .crumb__item a {
    color: #999;
  }
  .crumb__item .now-text {
    color: #999;
  }
}
/* side */
.side {
  width: 20%;
  float: left;
  border-top: 1px solid #333;
  text-align: right;
}
.side--nomargin {
  width: 25.8%;
  border-top: none;
}
.side--column {
  width: 25.8%;
  border-top: none;
}
.side--faq {
  position: relative;
  width: 20%;
  border-top: none;
  text-align: left;
  transition: top 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.side--guide {
  position: relative;
  width: 20%;
  border-top: none;
  text-align: right;
  transition: top 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.side__head--news {
  padding: 10px 15px 10px 0;
  border-top: 2px solid #463D3E;
  border-bottom: 1px solid #463D3E;
  background-color: #FFE1DE;
}
.side__title {
  margin: 20px 0 0 0;
  padding-left: 10px;
  color: #463D3E;
  font-weight: 400;
  font-size: 1.8em;
  line-height: 1.6em;
  letter-spacing: 1px;
}
.side__title--news {
  margin: 0;
}
.side__subtitle {
  margin: 0 0 25px 0;
  padding: 0 0 0 10px;
  font-size: 1.2em;
  line-height: 1.6em;
  letter-spacing: 1px;
}
.side__subtitle--news {
  margin: 0;
}
@media (max-width: 980px) {
  .side {
    display: block;
    width: auto;
    margin: 0 3%;
    float: none;
    border: none;
    text-align: center;
  }
  .side__title {
    margin-top: 25px;
    margin-bottom: 6px;
    padding: 0;
    color: black;
    font-size: 1.5em;
    line-height: 1.5em;
    letter-spacing: normal;
  }
  .side__subtitle {
    margin-bottom: 25px;
    padding: 0;
    color: black;
    font-size: 1em;
    letter-spacing: 0.15em;
    font-family: "Cochin W01 Roman", 'Noto Sans TC', "Microsoft JhengHei", serif;
  }
}
/* article */
.article__top {
  margin: 20px auto 20px auto;
}
.article__border-bottom {
  margin: 0px 50px;
  padding: 20px 0;
  border-bottom: 1px solid #463D3E;
}
.article__toptitle {
  margin: 0 0 6px;
  color: #463D3E;
  font-weight: 400;
  font-size: 2em;
  line-height: 160%;
  letter-spacing: 1px;
  text-align: center;
  text-transform: uppercase;
}
.article__toptitle--nouppercase {
  text-transform: none;
}
.article__topsubtitle {
  margin: 0;
  color: #463D3E;
  font-size: 1.3em;
  line-height: 1.6em;
  letter-spacing: 0.15em;
  text-align: center;
}
.article {
  margin: 35px 30px 0 30px;
}
.article--column {
  margin: 0;
}
.article--voice {
  margin-bottom: 50px;
  padding: 4px;
  border: 2px solid #695A5B;
}
.article--voice .article__wrap {
  padding: 90px 40px 20px;
  border: 1px solid #BFB5B6;
}
.article--voice .article__content {
  margin: 60px 0 0 0;
  padding: 0;
  border: none;
}
.article--voice .article__title {
  padding: 0;
  font-style: italic;
  font-size: 2.5em;
}
.article--voice article {
  font-size: 1.4em;
}
.article__bookmark {
  margin-top: 15px;
}
.article__content {
  margin: 0;
  padding: 35px 30px;
}
.article__content:after {
  content: "";
  display: table;
  width: 100%;
  height: 0;
  clear: both;
}
.article__head {
  padding: 20px 0 18px 0;
  border-top: 1px solid #463D3E;
  border-bottom: 1px solid #463D3E;
}
.article__title {
  margin: 0;
  padding: 0 10px;
  font-weight: 400;
  font-size: 1.8em;
  line-height: 1.3;
}
.article__title--voice {
  margin: 0 0 20px;
  font-weight: 400;
  font-size: 1.8em;
  line-height: 1.4em;
  letter-spacing: 1px;
  text-align: left;
}
.article__subtitle {
  margin: 0.2em 0 0 0;
  padding: 0 10px;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.6em;
}
.article__subtitle--voice {
  margin: 0 0 20px;
  padding: 0;
  font-size: 1.8em;
  line-height: 1.4em;
}
.article__note {
  text-align: right;
}
.article__link {
  color: #463D3E;
  font-size: 1.2em;
  text-decoration: underline;
}
.article__foot {
  margin: 0;
  padding: 40px 0 20px;
  border-top: 1px dotted #aba2a0;
  text-align: center;
}
.article__foot--voice {
  margin: 60px 0 0;
}
.article__parent {
  display: inline-block;
  width: auto;
  margin: 0 10px;
  padding: 0;
  border: none;
  color: #463D3E;
  font-size: 1.2em;
  line-height: 1.5em;
  letter-spacing: 1px;
}
.article__parent:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.article__parent .btn-text {
  padding: 0 0 0 16px;
  background-image: url(../images/ic-arrow-08.png);
  background-position: 0 50%;
  background-repeat: no-repeat;
}
.article__back {
  display: inline-block;
  width: auto;
  margin: 0 20px 0 0;
  padding: 0 20px;
  border: none;
  color: #463D3E;
  font-size: 1.2em;
  line-height: 1.5em;
  letter-spacing: 1px;
}
.article__back:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.article__back .btn-text {
  padding: 0 0 0 16px;
  background-image: url(../images/ic-arrow-08-2.png);
  background-position: 0 50%;
  background-repeat: no-repeat;
}
.article__next {
  display: inline-block;
  width: auto;
  margin: 0 0 0 20px;
  padding: 0 20px;
  border: none;
  color: #463D3E;
  font-size: 1.2em;
  line-height: 1.5em;
  letter-spacing: 1px;
}
.article__next:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.article__next .btn-text {
  padding: 0 16px 0 0;
  background-image: url(../images/ic-arrow-08.png);
  background-position: 100% 50%;
  background-repeat: no-repeat;
}
@media (max-width: 980px) {
  /* article */
  .article__top {
    margin: 5px auto 0 auto;
  }
  .article__border-bottom {
    margin: 0;
    padding: 20px 0;
    border-bottom: none;
  }
  .article__toptitle {
    margin: 0 0 6px;
    color: black;
    font-size: 1.6em;
    letter-spacing: normal;
    text-align: center;
  }
  .article__toptitle span {
    position: relative;
    padding: 0 0 4px;
  }
  .article__toptitle span:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 16%;
    width: 68%;
    height: 1px;
    background-color: black;
    content: "";
    -webkit-opacity: 0.4;
    -moz-opacity: 0.4;
    opacity: 0.4;
  }
  .article__topsubtitle {
    color: #463D3E;
    font-size: 1em;
    line-height: 1.5em;
    letter-spacing: 0.15em;
  }
  .article {
    margin: 10px 0 0 0;
  }
  .article--voice {
    margin: 0 3% 10px;
    padding: 2px;
  }
  .article--voice .article__wrap {
    padding: 25px 20px;
  }
  .article--voice .article__content {
    margin-top: 30px;
    padding: 0;
  }
  .article img {
    width: auto;
    max-width: 100%;
  }
  .article__content {
    margin: 0 0;
    padding: 10px 3%;
  }
  .article__head {
    padding: 10px 0;
  }
  .article__head .news__info {
    padding: 0 3%;
  }
  .article__title {
    padding: 0 3%;
    color: black;
    font-size: 1.5em;
    line-height: 1.6;
  }
  .article__title--voice {
    margin: 0 0 10px;
    padding: 0;
    color: black;
    font-style: italic;
    font-size: 2em;
    line-height: 1.4em;
  }
  .article__subtitle {
    padding: 0 3%;
  }
  .article__subtitle--voice {
    margin: 0;
    padding: 0;
    color: black;
    font-size: 1.1em;
    line-height: 1.4em;
  }
  .article__foot {
    margin: 0 3% 20px;
    padding: 10px 0;
    overflow: hidden;
    border-top: 1px dotted #463D3E;
    border-bottom: 1px dotted #463D3E;
  }
  .article__parent {
    display: block;
    width: 33.33%;
    margin: 0;
    padding: 0;
    float: left;
    border: none;
    color: black;
    font-size: 1.1em;
    letter-spacing: normal;
  }
  .article__parent .btn-text {
    padding: 0;
    background-image: unset;
  }
  .article__back {
    display: block;
    width: 33.33%;
    margin: 0;
    padding: 0;
    float: left;
    color: black;
    font-size: 1.1em;
    letter-spacing: normal;
    text-align: left;
  }
  .article__back .btn-text {
    padding: 0 0 0 12px;
    background-image: url(../images/ic-arrow-11-2.png);
    background-position: 0 50%;
    background-size: 4px auto;
  }
  .article__next {
    display: block;
    width: 33.33%;
    margin: 0;
    padding: 0;
    float: left;
    color: black;
    font-size: 1.1em;
    letter-spacing: normal;
    text-align: right;
  }
  .article__next .btn-text {
    padding: 0 12px 0;
    background-image: url(../images/ic-arrow-11.png);
    background-position: 100% 50%;
    background-size: 4px auto;
  }
}
.reservation-widget {
  margin: 0 -50px 40px;
  padding: 40px 0;
  background: url(../../images/reservation-bg-2022.png) no-repeat 50% 0;
}
.reservation-widget--simple .reservation-widget__title {
  font-size: 1.9em;
}
.reservation-widget--simple .reservation-widget__text {
  margin-top: 22px;
}
.reservation-widget__cont {
  position: relative;
  width: 662.5px;
  margin: 0 auto;
  padding: 5px;
  background: white;
  box-shadow: 2px 3px 8px 0px rgba(0, 0, 0, 0.1);
  text-align: center;
}
.reservation-widget__cont a {
  display: block;
}
.reservation-widget__cont:hover .reservation-widget__link-btn {
  background-color: white;
  color: #f8b2ba;
}
.reservation-widget__link {
  min-height: 212.5px;
  margin: 0;
  padding: 35px 0 18.75px 0;
  border: 1px solid #F9C7CA;
  background: url(../../images/reservation-bg-2-2022.png) no-repeat 100% 0 #FDFBF9;
  background-position: center center;
  background-size: cover;
}
.reservation-widget__present {
  margin: 31.25px auto 0;
  margin-top: 18.75px;
  color: #000;
  font-size: 18.75px;
  font-size: 1.875rem;
  line-height: 160%;
  letter-spacing: 0.24em;
  text-align: center;
}
.reservation-widget__present .pre-text {
  font-size: 18.75px;
  font-size: 1.875rem;
}
.reservation-widget__present .pre-price {
  font-size: 20px;
  font-size: 2rem;
}
.reservation-widget__present strong {
  font-weight: normal;
  font-size: 26.25px;
  font-size: 2.625rem;
}
.reservation-widget__title {
  color: #4d3f3e;
  font-size: 18.75px;
  font-size: 1.875rem;
  letter-spacing: 0.25em;
}
.reservation-widget__text {
  position: relative;
  box-sizing: border-box;
  width: 587.5px;
  margin: 12.5px auto 0;
  padding: 0 27.5px;
  color: black;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.8em;
  letter-spacing: 0.26em;
}
.reservation-widget__text:before {
  display: block;
  position: absolute;
  top: -2.5px;
  left: 0px;
  width: 17.5px;
  height: 100%;
  border: 1px solid #DFDEDC;
  border-right: none;
  content: "";
}
.reservation-widget__text:after {
  display: block;
  position: absolute;
  top: -2.5px;
  right: 0px;
  width: 17.5px;
  height: 100%;
  border: 1px solid #DFDEDC;
  border-left: none;
  content: "";
}
.reservation-widget__link-btn {
  display: block;
  margin: 27.5px auto 0;
  padding: 10px 0 7.5px;
  border: 1px solid #f8b2ba;
  border-radius: 2.5px;
  background-color: #f8b2ba;
  color: white;
  font-size: 18.75px;
  font-size: 1.875rem;
  width: 250px;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.reservation-widget__note {
  margin: 0;
  padding: 18.75px 100px 0;
  color: #999;
  font-size: 12.5px;
  font-size: 1.25rem;
  line-height: 130%;
  text-align: left;
}
.reservation-widget__tel-area {
  padding: 10px 0 10px 75px;
  overflow: hidden;
  border: 1px solid #F9C7CA;
  border-top: none;
  box-shadow: 0px -1px 5px 0px rgba(248, 214, 207, 0.4);
}
.reservation-widget__tel-left {
  width: 162.5px;
  margin-right: 18.75px;
  padding: 5px 12.5px 0 0;
  float: left;
  border-right: 5px double #F8D5CF;
  color: #4d3f3e;
  font-size: 1.875rem;
  line-height: 120%;
  letter-spacing: 0.21em;
  text-align: center;
}
.reservation-widget__tel-left span {
  display: block;
  color: rgba(0, 0, 0, 0.5);
  font-weight: normal;
  font-size: 12.5px;
  font-size: 1.25rem;
  letter-spacing: 0.24em;
}
.reservation-widget__tel-right {
  width: 337.5px;
  padding: 5px 0 0 37.5px;
  float: left;
  background: url(../../images/telIcon2.png) no-repeat 0 5px;
  background-size: 31.25px;
  color: black;
  font-size: 22.5px;
  font-size: 2.25rem;
  line-height: 120%;
  letter-spacing: 0.26em;
  text-align: left;
}
.reservation-widget__tel-right .tel + span {
  display: block;
  margin: 2.5px 0 0 -5px;
  color: rgba(0, 0, 0, 0.5);
  font-size: 12.5px;
  font-size: 1.25rem;
  line-height: 110%;
  letter-spacing: 0.12em;
}
.rvwidget {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto 125px;
}
.rvwidget.serif,
.rvwidget .serif {
  font-weight: 400;
  font-family: "Cochin W01 Roman", 'Noto Sans TC', "Microsoft JhengHei", serif;
}
.rvwidget .rvwidget__cont {
  position: relative;
  width: 675px;
  background-color: #fdf4f3;
  text-align: center;
}
.rvwidget .rvwidget__cont:hover .reservation-widget__link-btn {
  background-color: white;
  color: #f8b2ba;
}
.rvwidget .rvwidget__block {
  box-shadow: 2px 3px 8px 0px rgba(0, 0, 0, 0.1);
}
.rvwidget .reservation-widget__tel-area {
  background-color: white;
}
.rvwidget .reservation-widget__note {
  width: 100%;
  margin-top: 18.75px;
  padding: 0;
  color: #666;
  font-size: 1.5em;
  line-height: 1.8em;
  letter-spacing: 0.18em;
}
.rvwidget--2col {
  position: relative;
  box-sizing: border-box;
  min-height: 375px;
  padding: 0;
  background: url(../../images/reservation/bg03.jpg) no-repeat 50% 0;
  background-size: auto 100%;
}
.rvwidget--2col .rvwidget__cont {
  padding: 62.5px 3.75%;
}
.rvwidget--default {
  width: auto;
  max-width: unset;
  margin: 0 -62.5px 50px;
  padding: 50px 0;
  background: url(../../images/reservation-bg-2023.jpg) no-repeat 50% 0;
  background-position: center center;
  background-size: cover;
}
.rvwidget--default .rvwidget__cont {
  box-sizing: border-box;
  margin: 0 auto;
  padding: 6.25px;
  background-color: white;
  box-shadow: 2px 3px 8px 0px rgba(0, 0, 0, 0.1);
}
.rvwidget--default .rvwidget__block {
  box-shadow: none;
}
.rvwidget--default .reservation-widget__note {
  width: auto;
  margin: 0;
  padding: 18.75px 100px 0;
  background-color: transparent;
  color: #999;
  font-size: 1.25rem;
  line-height: 130%;
  letter-spacing: normal;
  text-align: left;
}
@media (max-width: 980px) {
  .reservation-widget {
    box-sizing: border-box;
    margin: 0 auto 6% auto;
    margin-bottom: 6%;
    padding: 0 7%;
    background-image: none;
  }
  .reservation-widget .reservation-m {
    width: 100%;
    padding: 0;
  }
  .reservation-widget .reservation-m__item {
    width: 100%;
    margin-bottom: 3%;
    font-size: 1.1em;
    letter-spacing: 0.15em;
  }
  .reservation-widget .reservation-m__list {
    margin: 0;
  }
  .reservation-widget__cont {
    box-sizing: border-box;
    width: 100%;
    max-width: 530px;
    margin-right: auto;
    margin-left: auto;
    box-shadow: none;
    background-image: url(../../images/secReservationBg.png);
  }
  .reservation-widget__link {
    min-height: 0;
    padding: 11% 13%;
    border: 1px solid #FAE2E2;
    background: none;
  }
  .reservation-widget__link dd {
    margin-left: 0;
  }
  .reservation-widget__title {
    margin-bottom: 7%;
    color: #4d403e;
    font-size: 1.6em;
    line-height: 1.5em;
    letter-spacing: 0.2em;
  }
  .reservation-widget__title span {
    display: block;
    font-size: 1.3rem;
    letter-spacing: 0.3em;
  }
  .reservation-widget__present {
    margin: 0 auto 5% auto;
    margin-top: 15px;
    color: black;
    font-size: 1.5em;
    line-height: 160%;
    letter-spacing: 0.24em;
  }
  .reservation-widget__present .pre-text,
  .reservation-widget__present .pre-price,
  .reservation-widget__present .preTxt,
  .reservation-widget__present strong {
    font-weight: inherit;
    font-size: inherit;
  }
  .reservation-widget__text {
    width: 100%;
    margin-bottom: 7%;
  }
  .reservation-widget__note {
    margin-top: 5%;
    padding: 0;
  }
  .reservation-m {
    padding: 10% 7%;
  }
  .reservation-m__title {
    margin: 0 auto 3%;
    color: #333;
    font-size: 1.8em;
    line-height: 1.5em;
    letter-spacing: 0.15em;
    text-align: center;
    text-transform: uppercase;
  }
  .reservation-m__title span {
    display: block;
    font-size: 0.72222222em;
    line-height: 1.5em;
    letter-spacing: 0.3em;
  }
  .reservation-m__list {
    margin: 0 auto 3%;
    padding: 0;
    overflow: hidden;
    list-style: none;
  }
  .reservation-m__item {
    display: block;
    width: 48.5%;
    float: left;
    text-align: center;
    border-radius: 2x;
    -moz-background-clip: padding;
    background-clip: padding-box;
  }
  .reservation-m__item a {
    display: block;
    padding: 9% 2% 8% 15%;
    color: white;
    font-size: 1.2em;
  }
  .reservation-m__item--web {
    background: url(../../images/reservationIcon01.png) no-repeat 10% 50% #f8b2ba;
    background-size: 10%;
  }
  .reservation-m__item--tel {
    float: right;
    border-radius: 2px;
    background: url(../../images/reservationIcon02.png) no-repeat 10% 50% #353535;
    background-size: 9.5%;
  }
  .reservation-m__note {
    margin: 0 auto;
    color: black;
    font-size: 1em;
    letter-spacing: 0.12em;
    text-align: center;
    white-space: nowrap;
    -webkit-opacity: 0.5;
    -moz-opacity: 0.5;
    opacity: 0.5;
  }
  .rvwidget .rvwidget__cont {
    position: relative;
    width: auto;
    padding: 0;
    border: 1px solid #FAE2E2;
    background: url(../images/secReservationBg.png) no-repeat 50% 0;
    background-size: 100% 100%;
    background-color: white;
    text-align: center;
  }
  .rvwidget .rvwidget__block {
    padding: 0;
    border: none;
    box-shadow: 0 0 0 transparent;
    padding: 11% 13% 0 13%;
  }
  .rvwidget .reservation-widget__link {
    padding: 0;
    border: none;
  }
  .rvwidget .reservation-widget__note {
    width: auto;
    margin-top: 5%;
    padding: 0 13% 11% 13%;
    color: rgba(0, 0, 0, 0.5);
    font-size: 1rem;
    line-height: 1.5em;
    letter-spacing: normal;
    text-align: left;
  }
  .rvwidget .reservation-m {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .rvwidget .reservation-m__list {
    margin: 0;
  }
  .rvwidget .reservation-m__item {
    display: block;
    width: 100%;
    margin: 0;
    margin-bottom: 3%;
    float: none;
  }
  .rvwidget .reservation-m__item a {
    padding: 8% 2% 7% 15%;
    font-size: 1.1rem;
    letter-spacing: 0.15em;
  }
  .rvwidget--2col {
    margin-bottom: 6%;
    padding: 0 7%;
    background: white;
    background-image: unset;
  }
  .rvwidget--default {
    box-sizing: border-box;
    margin: 10% 0 6% 0;
    padding: 0 7%;
    background: white;
    background-image: unset;
  }
  .rvwidget--default .rvwidget__cont {
    width: auto;
    padding: 0;
    box-shadow: none;
  }
  .rvwidget--default .reservation-widget__note {
    padding: 0 0 11% 0;
    font-size: 1rem;
    line-height: 1.5em;
  }
}
.rsvwidget {
  text-align: center;
  margin: 100px auto 100px auto;
  width: 50%;
}
@media (max-width: 980px) {
  .rsvwidget {
    width: 90%;
  }
}
@media (max-width: 575px) {
  .rsvwidget {
    background-color: #f5f5f5;
    padding: 3rem 0 4.5rem 0;
  }
}
.rsvwidget__title {
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  margin-bottom: 1rem;
}
@media (max-width: 575px) {
  .rsvwidget__title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.05em;
  }
}
.rsvwidget__cont {
  text-align: center;
  margin-bottom: 3rem;
  font-family: "Noto Sans TC", sans-serif;
}
@media (max-width: 575px) {
  .rsvwidget__cont {
    padding: 0 2rem;
  }
}
.rsvwidget__cont h3 {
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin: 0;
}
.rsvwidget__cont p {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  line-height: 2em;
  margin: 0;
}
.rsvwidget__cont a {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  text-decoration: underline;
  color: #333;
}
.rsvwidget .reservation-btn {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: initial;
  padding: 2rem 2rem;
  width: 300px;
  border-radius: 2px;
}
@media (max-width: 575px) {
  .rsvwidget .reservation-btn {
    font-size: 14px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 300;
    font-weight: 400;
    padding: 1.5rem 2rem;
    border-radius: 28px;
  }
}
@media (max-width: 575px) {
  .shopbanner .base-inner {
    width: 80%;
  }
}
.shopbanner .button {
  display: none;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-weight: 400;
  padding: 0.6em 1em;
}
@media (max-width: 575px) {
  .shopbanner .button {
    display: inline-block;
  }
}
.shopbanner .shopbanner__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: center;
  gap: 4rem;
}
@media (max-width: 980px) {
  .shopbanner .shopbanner__list {
    gap: 2rem;
  }
}
.shopbanner .pic-hover {
  transform: scale(1);
  transition: all 0.5s ease-in-out;
}
.shopbanner__cell {
  width: 45%;
}
@media (max-width: 575px) {
  .shopbanner__cell {
    display: none;
  }
}
.shopbanner__cell:hover .pic-hover {
  transform: scale(1.1);
}
@media (max-width: 980px) {
  .shopbanner__cell:hover .pic-hover {
    transform: scale(1);
  }
}
.shopbanner__item {
  display: block;
  background-color: transparent;
  transition: all 0.5s;
  position: relative;
}
.shopbanner__item .icon-arrow {
  position: absolute;
  visibility: none;
  opacity: 0;
  right: 2rem;
  bottom: 3.5rem;
  transition: all 0.5s;
}
.shopbanner__item:hover {
  background-color: #f5f5f5;
}
.shopbanner__item:hover .icon-arrow {
  visibility: visible;
  opacity: 1;
  transform: scale(1.2);
}
.shopbanner__pic {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.shopbanner__pic img {
  display: block;
  width: 100%;
  height: auto;
}
.shopbanner__cont {
  padding: 1rem 0 2rem 2rem;
}
@media (max-width: 980px) {
  .shopbanner__cont {
    padding: 1rem 0 2rem 1rem;
  }
}
.shopbanner__cont .subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
}
.shopbanner__cont .des {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
.product-view:before {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: none;
  border-color: transparent;
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  opacity: 0;
  transition: all 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0ms;
}
.product-view:hover:before {
  opacity: 1;
}
.product-view:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000000;
  content: "";
  opacity: 10%;
}
.product-view__item-img {
  display: block;
  aspect-ratio: 1;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.product-view__body {
  display: flex;
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 0 50px;
  color: #fff;
}
@media (max-width: 980px) {
  .product-view__body {
    width: 75%;
    margin: 0 auto;
    padding: 0;
  }
}
.product-view__title {
  margin: 8px 0 0;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.5em;
  letter-spacing: 0.01em;
  line-height: 1.5;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  letter-spacing: 0.04em;
}
@media (max-width: 980px) {
  .product-view__title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
  }
}
@media (max-width: 980px) {
  .product-view__title {
    font-size: 2.4rem;
    margin: 8px 0 0 -15px;
  }
}
.product-view__title-bold {
  font-weight: 800;
}
.product-view__title-small {
  margin: 0;
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}
@media (max-width: 980px) {
  .product-view__title-small {
    font-size: 18px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
  }
}
.product-view__text {
  margin: 10px 0 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
}
@media (max-width: 980px) {
  .product-view__text {
    font-size: 14px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 300;
    line-height: 2.4rem;
    margin: 10px 0 0 -15px;
  }
}
.product-view__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 190px;
  height: 41px;
  margin: 20px 0 0 0;
  border: 1px solid #ffffff;
  border-radius: 21px;
  color: #ffffff;
  font-size: 1.3rem;
  transition: all 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0ms;
}
@media (max-width: 980px) {
  .product-view__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 225px;
    height: 38px;
    margin: 0 auto;
    font-size: 1.2rem;
    background-color: transparent;
    border-radius: 19px;
    position: absolute;
    right: 0;
    bottom: 2rem;
    left: 0;
    z-index: 2;
  }
}
.product-view:hover .product-view__button {
  background-color: #fff;
  color: #000000;
}
.lineup {
  margin: 0 auto 60px auto;
}
.lineup--small {
  max-width: 870px;
  margin-top: 20px;
}
@media (max-width: 980px) {
  .lineup {
    margin: 0 auto 8% auto;
    margin-bottom: 13.33vw;
    padding: 0 3%;
  }
  .lineup--small {
    margin-top: 5vw;
  }
}
.lineup--bottom {
  margin: 60px auto;
}
@media (max-width: 980px) {
  .lineup--bottom {
    margin: 10% auto;
  }
}
.lineup__title {
  text-align: center;
}
.lineup__intro {
  text-align: center;
}
.lineup__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
@media (max-width: 980px) {
  .lineup__list {
    justify-content: space-between;
  }
}
.lineup__item {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 25%;
  height: 300px;
  margin-bottom: 30px;
}
.lineup__item--tierce {
  width: 33.33%;
}
@media (max-width: 980px) {
  .lineup__item {
    width: 48.5%;
    height: auto;
    margin-bottom: 3%;
  }
}
@media (max-width: 980px) {
  .lineup__item--pd .lineup__wrap {
    padding-top: 20vw;
    padding-bottom: 35.26666667vw;
  }
  .lineup__item--pd .lineup__wrap .lineup__caption {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-sizing: border-box;
    padding-top: 5vw;
  }
  .lineup__item--pd .lineup__wrap .lineup__caption .name {
    position: relative;
    top: 0;
  }
  .lineup__item--pd .lineup__wrap .lineup__caption .subname {
    position: relative;
    margin-top: 1vw;
    top: 0;
  }
  .lineup__item--pd .lineup__wrap .lineup__caption:after {
    content: "MORE";
    position: absolute;
    display: block;
    bottom: 2vw;
    left: 0;
    width: 100%;
    font-family: "Cochin W01 Roman", 'Noto Sans TC', "Microsoft JhengHei", serif;
    text-align: center;
    font-size: 3vw;
    line-height: 1.1;
    letter-spacing: 0.1em;
    color: #b3aaa8;
  }
  .lineup__item--pd .lineup__pic {
    width: 100%;
  }
  .lineup__item--pd .lineup__pic picture {
    padding-top: 20vw;
    box-sizing: border-box;
  }
  .lineup__item--pd .lineup__pic img {
    position: relative;
    top: 0;
  }
}
.lineup__pic {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}
@media (max-width: 980px) {
  .lineup__pic {
    width: 70%;
  }
}
.lineup__pic picture {
  display: block;
  width: 100%;
  height: 100%;
}
.lineup__pic img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  max-width: 100%;
  margin: auto;
}
@media (max-width: 980px) {
  .lineup__pic img {
    top: 30%;
    bottom: auto;
    width: 100%;
  }
}
.lineup__pic--pd img {
  margin-top: 13.93728223%;
}
@media (max-width: 980px) {
  .lineup__pic--pd img {
    margin-top: 0;
    width: 100%;
    top: 0;
  }
}
.lineup__wrap {
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 185px;
  text-align: center;
  transition: all 0.4s ease;
}
@media (max-width: 980px) {
  .lineup__wrap {
    position: relative;
    padding-top: 100%;
    height: auto;
    border: 1px solid #e4e4e4;
  }
}
.lineup__wrap:hover {
  background-color: #fafafa;
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.2);
}
.lineup__wrap:hover:after {
  display: block;
  position: absolute;
  top: 7px;
  left: 7px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  border: 1px solid #e4e0df;
  content: "";
}
.lineup__wrap .name {
  display: block;
  color: #4d3f3e;
  font-size: 1.3em;
  line-height: 2em;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
}
@media (max-width: 980px) {
  .lineup__wrap .name {
    position: absolute;
    left: 0;
    top: 70%;
    width: 100%;
    letter-spacing: 0.1em;
    font-size: 3vw;
  }
  .lineup__wrap .name--rem {
    font-size: 0.9rem;
  }
}
.lineup__wrap .subname {
  display: block;
  margin-bottom: 20px;
  color: #555;
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: 0.25em;
  text-align: center;
}
@media (max-width: 980px) {
  .lineup__wrap .subname {
    position: absolute;
    left: 0;
    top: 82%;
    width: 100%;
    font-size: 3vw;
  }
  .lineup__wrap .subname--rem {
    font-size: 0.9rem;
  }
}
.lineup__wrap .more {
  display: inline-block;
  position: relative;
  padding: 0 25px;
  border-bottom: 1px solid #e8e3e0;
  color: #c6bdbb;
  font-size: 1.3em;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
  transition: all ease 0.4s;
}
@media (max-width: 980px) {
  .lineup__wrap .more {
    display: none;
  }
}
.lineup__wrap .more:before {
  display: block;
  position: absolute;
  bottom: -4px;
  left: calc(50% - 33px);
  width: 66px;
  height: 1px;
  background: #c89c81;
  content: "";
  opacity: 0;
  transition: all ease 0.4s;
}
.lineup__wrap:hover .more {
  border-bottom: 1px solid #c89c81;
  color: #c89c81;
}
.lineup__wrap:hover .more:before {
  opacity: 1;
}
.lightbox,
.lightbox--notfull {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100vh;
}
.lightbox .close-btn,
.lightbox--notfull .close-btn {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 8040;
  width: 140px;
  height: 31px;
  margin-left: -70px;
  background-image: url(../images/ic-close.jpg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}
.lightbox__cover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: url(../images/fancybox_overlay.png);
}
.lightbox__close-corner {
  display: flex;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #333;
  cursor: pointer;
  transition: background-color 0.3s ease-out;
}
.lightbox__close-corner:before,
.lightbox__close-corner:after {
  display: block;
  width: 59%;
  height: 1px;
  background-color: white;
  content: "";
}
.lightbox__close-corner:before {
  transform: rotate(45deg);
}
.lightbox__close-corner:after {
  transform: rotate(-45deg);
}
@media (max-width: 980px) {
  .lightbox__close-corner {
    width: 4.375rem;
    height: 4.375rem;
    top: 1.875rem;
    right: 1.875rem;
  }
}
.lightbox__wrap {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.lightbox__wrap:after {
  display: inline-block;
  width: 0;
  height: 100%;
  content: "";
  vertical-align: middle;
}
.lightbox__box {
  display: inline-block;
  position: relative;
  z-index: 99;
  width: 95%;
  height: auto;
  box-sizing: border-box;
  background-color: white;
  vertical-align: middle;
  white-space: normal;
  border-radius: 4px;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.lightbox__box--video {
  width: 70%;
  padding: 20px;
}
.lightbox__box--video-simple {
  padding: 0;
  background: transparent;
}
.zoom {
  position: relative;
  padding: 15px;
}
.zoom .slick-next,
.zoom .slick-prev {
  position: absolute;
  top: 0;
  z-index: 8040;
  width: 40%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: none;
  background: transparent;
  background-size: 22px auto;
  background-repeat: no-repeat;
  text-decoration: none;
  text-indent: -999%;
  cursor: pointer;
}
.zoom .slick-next {
  right: 0;
  background-image: url(../images/pageNext.png);
  background-position: 100% 50%;
}
.zoom .slick-prev {
  left: 0;
  background-image: url(../images/pagePrev.png);
  background-position: 0% 50%;
}
.zoom__slick {
  display: block;
  width: 100%;
}
.zoom__slick .slick-slide {
  background-color: white;
}
.zoom__slick img {
  aspect-ratio: 1.77777778;
  width: 100%;
  object-fit: contain;
  object-position: center;
}
.zoom__slick img.h {
  height: 100%;
}
.zoom__slick img.w {
  width: 100%;
}
@media (max-width: 980px) {
  .lightbox {
    display: block;
  }
  .lightbox .close-btn {
    display: block;
    top: 0;
    right: 0;
    left: auto;
    width: 44px;
    height: 44px;
    margin: 0;
    background: url(../images/default-skin.png) 0 -44px no-repeat;
    background-size: 264px 88px;
    opacity: 0.75;
  }
  .lightbox--notfull {
    display: table;
  }
  .lightbox--notfull .lightbox__wrap {
    display: table-cell;
  }
  .lightbox--notfull .close-btn {
    z-index: 8040;
    position: absolute;
    top: auto;
    right: auto;
    bottom: 3%;
    left: 50%;
    width: 140px;
    height: 31px;
    margin-left: -70px;
    background-image: url(../images/ic-close.jpg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
  }
  .lightbox__wrap {
    display: block;
    width: 100%;
    height: 100%;
  }
  .lightbox__box {
    width: 100%;
    height: 100%;
    table-layout: fixed;
  }
  .lightbox__box#ZoomBox {
    display: table;
  }
  .lightbox__box--video {
    display: inline-block;
    z-index: 99;
    position: relative;
    width: 88%;
    height: auto;
    padding: 2%;
    background-color: white;
  }
  .lightbox__box--video-simple {
    padding: 0;
    background: transparent;
  }
  .lightbox__head {
    z-index: 9999;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 44px;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.5);
  }
  .zoom__no {
    position: absolute;
    top: 0;
    left: 0;
    height: 44px;
    margin: 0;
    padding: 0 10px;
    color: white;
    font-size: 13px;
    line-height: 44px;
    letter-spacing: 0.5em;
    opacity: 0.75;
  }
  .zoom {
    box-sizing: border-box;
    display: table-cell;
    width: 100%;
    text-align: center;
    vertical-align: middle;
  }
  .zoom .zoom__slick {
    display: inline-block;
  }
  .zoom .slick-next,
  .zoom .slick-prev {
    background: none;
  }
  .zoom .slick-next:before,
  .zoom .slick-prev:before {
    display: block;
    z-index: 9999;
    position: absolute;
    top: 50%;
    width: 32px;
    height: 30px;
    margin-top: -15px;
    background-image: url(../images/default-skin.png);
    background-size: 264px 88px;
    background-repeat: no-repeat;
    background-color: rgba(0, 0, 0, 0.3);
    content: '';
  }
  .zoom .slick-next {
    right: -6px;
  }
  .zoom .slick-next:before {
    right: 0;
    background-position: -94px -44px;
  }
  .zoom .slick-prev {
    left: -6px;
  }
  .zoom .slick-prev:before {
    left: 0;
    background-position: -138px -44px;
  }
}
#CategoryBox {
  max-width: 500px;
  padding-bottom: 70px;
}
.category-box {
  box-sizing: border-box;
  height: 100%;
  padding: 35px 45px 20px;
  overflow: auto;
  text-align: left;
}
.category-box__title {
  margin-bottom: 0.8em;
  color: #343030;
  font-weight: normal;
  font-size: 2em;
  line-height: 1.8;
  letter-spacing: 0.3em;
}
.category-box__description,
.category-box__note {
  margin-bottom: 1em;
  color: #23150f;
  font-size: 1.2em;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.category-box__note {
  color: #8f8f8f;
}
@media (max-width: 980px) {
  #StoneBox {
    display: inline-block;
    width: 90%;
    padding: 20px 0;
  }
  #StoneBox .close-btn {
    top: -22px;
    background-color: #5d4f4b;
    opacity: 1;
  }
  #CategoryBox {
    width: 90%;
    height: auto;
    padding-bottom: 0;
  }
  #CategoryBox .close-btn {
    top: -22px;
    background-color: #5d4f4b;
    opacity: 1;
  }
  .category-box {
    padding: 35px 30px;
  }
  .category-box__title {
    font-size: 1.4em;
  }
}
.ringbox {
  box-sizing: border-box;
  width: 100%;
  padding: 100px 50px 200px;
}
.ringbox .flex-wrap {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.ringbox__slider {
  width: 55%;
}
.ringbox .ringbox__sliderbox {
  position: relative;
}
.ringbox .swiper-container {
  display: flex;
  align-items: center;
  width: 75%;
  margin: 0 auto;
}
.ringbox .swiper-button-next,
.ringbox .swiper-button-prev {
  position: absolute;
  z-index: 2;
}
.ringbox .swiper-button-next:after,
.ringbox .swiper-button-prev:after {
  display: none;
}
.ringbox .swiper-button-next {
  right: 10%;
  width: 24px;
  height: 43px;
  background-image: url(../images/pageNext.png);
}
.ringbox .swiper-button-prev {
  left: 10%;
  width: 24px;
  height: 43px;
  background-image: url(../images/pagePrev.png);
}
.ringbox .swiper-pagination {
  position: absolute;
  bottom: -100px;
  left: 0;
  width: 100%;
  margin: 0;
}
.ringbox .swiper-pagination-bullet {
  width: auto;
  width: 80px;
  height: 80px;
  margin: 0 10px;
  border: 1px solid #f0f0f0;
  border-radius: 0;
  background-image: url('../images/anniversary-ring/marriage-ring/BRIGIT/pt-img01.png');
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: transparent;
  text-align: center;
  opacity: 1;
}
.ringbox .swiper-pagination-bullet-active {
  border: 1px solid #F8C7CB;
}
.ringbox .img {
  box-sizing: border-box;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}
.ringbox__cont {
  width: 30%;
  color: black;
  text-align: left;
}
.ringbox__name {
  margin-bottom: 0;
  font-weight: 500;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0.22em;
}
.ringbox__cname {
  margin-bottom: 30px;
  margin-top: 0;
  font-size: 1.5em;
  letter-spacing: 0.3em;
}
.ringbox__title {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
}
.ringbox__desc {
  margin-bottom: 40px;
  color: #666;
  font-size: 1.2rem;
  line-height: 1.5em;
  letter-spacing: 0.2em;
}
.ringbox__price {
  font-size: 1.2rem;
  text-align: right;
}
.ringbox__price .num {
  display: inline-block;
  margin: 0 0.2em;
  font-size: 2em;
}
.ringbox__list {
  box-sizing: border-box;
  margin: 0px 0 35px 0;
  padding: 15px 0 12px;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  list-style: none;
}
.ringbox__item {
  color: #333;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}
.ringbox .attributes .ringbox__item {
  display: flex;
}
.ringbox .attributes__label {
  display: inline-block;
  width: 120px;
  color: #b3b1b1;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.ringbox .attributes__label--sm {
  flex: 0 0 6.5em;
  width: 6.5em;
}
.ringbox .pd__link-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.ringbox .pd__link-item {
  width: 49%;
  margin-bottom: 1%;
}
.ringbox .pd__link-item--shop a::before,
.ringbox .pd__link-item--reservation a:before,
.ringbox .pd__link-item--ec a:before {
  right: 5px;
}
.ringbox .pd__material a {
  transition: all ease 0.4s;
}
.ringbox--ec .flex-wrap {
  justify-content: space-between;
}
.ringbox--ec .ringbox__slider {
  width: 60%;
  transform: translateY(-40px);
}
.ringbox--ec .ringbox__cont {
  width: 35%;
}
.ringbox--ec .swiper-container {
  width: 90%;
}
@media (max-width: 1400px) {
  .ringbox {
    padding: 50px 50px 100px;
  }
}
@media (max-width: 980px) {
  .ringbox {
    padding: 0 5vw 15vh 5vw;
  }
  .ringbox .flex-wrap {
    flex-wrap: wrap;
  }
  .ringbox__slider {
    box-sizing: border-box;
    width: 100%;
    padding-bottom: 100px;
  }
  .ringbox__cont {
    width: 100%;
  }
  .ringbox__list {
    padding: 0;
    border: 1px solid #f0f0f0;
    border-right: 0;
    border-left: 0;
  }
  .ringbox__item {
    padding: 4% 0;
    border-bottom: 1px solid #f0f0f0;
    text-indent: 0;
  }
  .ringbox__item:last-child {
    border-bottom: 0;
  }
  .ringbox .swiper-container {
    width: 90%;
  }
  .ringbox .swiper-button-prev,
  .ringbox .swiper-button-next {
    background-size: unset;
  }
  .ringbox .swiper-button-prev {
    left: -10px;
  }
  .ringbox .swiper-button-next {
    right: -10px;
  }
  .ringbox .swiper-pagination {
    bottom: -70px;
  }
  .ringbox .swiper-pagination-bullet {
    width: 60px;
    height: 60px;
  }
  .ringbox .pd__material {
    margin: 5% 7% 0 7%;
    border-top: 0;
  }
  .ringbox--ec .ringbox__slider {
    width: 100%;
    margin-top: 10px;
    transform: translateY(0);
  }
  .ringbox--ec .ringbox__cont {
    width: 100%;
  }
  .ringbox--ec .swiper-container {
    width: 90%;
  }
  .ringbox--ec .swiper-container .img {
    padding-bottom: 80%;
  }
}
.smenu {
  margin: 100px 0 100px 0;
}
.smenu__wrap {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 980px) {
  .smenu__wrap {
    padding: 0 10px;
  }
}
@media (max-width: 575px) {
  .smenu__wrap {
    padding: 0 30px;
  }
}
.smenu__contents {
  display: flex;
  flex-wrap: wrap;
  margin: 30px 0 0;
}
@media (max-width: 980px) {
  .smenu__contents {
    flex-direction: column;
  }
}
.smenu__contents-item {
  width: 31.6%;
}
@media (max-width: 980px) {
  .smenu__contents-item {
    width: 100%;
  }
  .smenu__contents-item:not(:first-child) {
    margin-top: 23px;
  }
}
.smenu__content-down {
  margin-top: 2.5%;
}
@media (max-width: 980px) {
  .smenu__content-down {
    margin-top: 0;
  }
}
.smenu__contents-right {
  margin-left: 2%;
}
@media (max-width: 980px) {
  .smenu__contents-right {
    margin-left: 0;
  }
}
.smenu__item-inner {
  position: relative;
  display: flex;
  align-items: center;
  transition: all 0.4s ease 0ms;
}
.smenu__item-inner:hover {
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.15);
}
.smenu__item-inner:hover .smenu-img {
  transform: scale(1.2);
}
.smenu__item-visual {
  overflow: hidden;
  border-radius: 2px;
}
@media (max-width: 980px) {
  .smenu__item-visual {
    width: 40%;
  }
}
.smenu__item-content {
  padding: 0 0 0 18px;
}
@media (max-width: 980px) {
  .smenu__item-content {
    padding: 0 0 0 15px;
  }
}
.smenu__item-title {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
  letter-spacing: 0.04em;
  font-size: 1.7rem;
  letter-spacing: 0.09em;
}
@media (max-width: 980px) {
  .smenu__item-title {
    margin: 0px;
    font-size: 16px;
    letter-spacing: 0em;
    margin-bottom: 5px;
  }
}
.smenu__item-subtitle {
  font-size: 1.4rem;
  color: #666;
  font-weight: 300;
  margin-top: 10px;
  letter-spacing: 0.09em;
}
@media (max-width: 980px) {
  .smenu__item-subtitle {
    margin: 0px;
    font-size: 13px;
  }
}
.smenu__icon {
  position: absolute;
  top: calc(50% - 6.5px);
  right: 3.94%;
}
@media (max-width: 980px) {
  .smenu__icon {
    position: absolute;
    top: calc(50% - 5.5px);
    right: 10px;
  }
}
.smenu .smenu-img {
  transition: all 0.6s ease 0ms;
}
.smenu .title {
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  text-align: center;
}
@media (max-width: 575px) {
  .smenu .title {
    text-align: center;
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.05em;
  }
}
.smenu__item-title {
  margin: 0;
}
.smenu__item-subtitle {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  margin: 0;
}
.smenu__contents {
  flex-direction: row;
  row-gap: 2rem;
  justify-content: space-around;
}
@media (max-width: 575px) {
  .smenu__contents {
    flex-direction: column;
    justify-content: center;
  }
}
@media (max-width: 980px) {
  .smenu__contents-item {
    width: 45%;
  }
}
@media (max-width: 575px) {
  .smenu__contents-item {
    width: 100%;
  }
}
.smenu__contents-item:not(:first-child) {
  margin-top: 0;
}
.followus {
  display: block;
  text-align: center;
  margin: 0 0 10px;
  padding: 0 0 20px;
}
.followus__title {
  margin: 0;
  color: #a2a2a2;
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-size: 54px;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  letter-spacing: 0.01em;
}
@media (max-width: 575px) {
  .followus__title {
    font-size: 40px;
  }
}
.followus__list {
  margin: 1rem 0 3rem 0;
  padding: 0;
  list-style: none;
}
.followus__item {
  display: inline-block;
  margin-right: 0;
  margin-bottom: 1rem;
  padding-left: 0.5rem;
}
.followus__link {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
}
.followus .icon {
  display: inline-block;
  position: relative;
  margin-right: 0.5rem;
  width: 20px;
  height: 20px;
  top: 5px;
}
@media (max-width: 980px) {
  .followus .icon {
    margin-right: 0;
  }
}
.follow-new .follow-new__wrap {
  display: block;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 306px;
  overflow: hidden;
}
@media (max-width: 575px) {
  .follow-new .follow-new__wrap {
    height: 135px;
    margin-bottom: 13vw;
  }
}
.follow-new .follow-new__wrap .follow-new__list {
  display: flex;
  list-style: none;
}
.follow-new .follow-new__wrap .follow-new__list .follow-new__photo {
  display: block;
  width: 306px;
  height: 306px;
  font-size: 5rem;
}
@media (max-width: 575px) {
  .follow-new .follow-new__wrap .follow-new__list .follow-new__photo {
    width: 131px;
    height: 131px;
  }
}
.cate2col {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
}
.cate2col--withside {
  margin-bottom: 50px;
}
.cate2col--withside .cate2col__block {
  margin-bottom: 10px;
}
.cate2col__block {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.cate2col__block--dark .cate2col__cont {
  background-image: url(../../images/dark.jpg);
  color: white;
}
.cate2col__block--light .cate2col__cont {
  background-image: url(../../images/light.jpg);
  color: #4A4344;
}
.cate2col__block--light .cate2col__cont .cate2col__info {
  border-color: #4A4344;
}
.cate2col__block--border {
  box-sizing: border-box;
  border: 1px solid #B8B1B2;
}
.cate2col__block--border .cate2col__cont {
  width: 57.7%;
  background-image: unset;
}
.cate2col__block--border .cate2col__pic {
  background-position: right center;
  background-size: contain;
}
.cate2col__cont {
  display: block;
  width: 50%;
  padding: 60px 0 70px 0;
  background-position: 0 0;
  background-size: cover;
}
.cate2col__cont--left .blockinner {
  padding-left: 15%;
}
.cate2col__cont--left .cate2col__pic {
  top: 0;
  right: 0;
}
.cate2col__cont--right {
  float: right;
}
.cate2col__cont--right .cate2col__title {
  padding: 0 0 0 15%;
}
.cate2col__cont--right .cate2col__info {
  padding: 30px 0 0 15%;
}
.cate2col__cont--right .blockinner {
  padding-right: 15%;
}
.cate2col__cont--right .cate2col__pic {
  top: 0;
  left: 0;
}
.cate2col__cont--withside {
  padding: 50px 0;
}
.cate2col__cont--withside.cate2col__cont--left .cate2col__title {
  padding: 0 0 0 40px;
}
.cate2col__cont--withside.cate2col__cont--left .cate2col__info {
  padding: 20px 0 0 40px;
}
.cate2col__cont--withside.cate2col__cont--left .blockinner {
  padding: 0 40px 0 0;
}
.cate2col__cont--withside.cate2col__cont--right {
  float: right;
}
.cate2col__cont--withside.cate2col__cont--right .cate2col__title {
  padding: 0 0 0 40px;
}
.cate2col__cont--withside.cate2col__cont--right .cate2col__info {
  padding: 20px 0 0 40px;
}
.cate2col__cont--withside.cate2col__cont--right .blockinner {
  padding: 0 40px 0 0;
}
.cate2col__cont--withside.cate2col__cont--right .cate2col__pic {
  top: 0;
  left: 0;
}
.cate2col__pic {
  position: absolute;
  z-index: 10;
  width: 50%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.cate2col__title {
  margin: 0 0 25px;
  padding-right: 10px;
  font-weight: 300;
  font-size: 2em;
  line-height: 120%;
  letter-spacing: 2px;
}
.cate2col__info {
  margin: 0;
  padding: 30px 15% 0 0;
  border-top: 1px solid white;
  font-size: 1.3em;
  line-height: 200%;
}
.cate2col__info a {
  text-decoration: underline;
}
.cate2col__info .inline-link {
  display: block;
  margin-top: 10px;
  text-decoration: underline;
}
.cate2col__info .inline-link:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.centerpara {
  max-width: 1400px;
  margin: 0 auto 90px;
  text-align: center;
}
.centerpara--support {
  margin: 0 auto 40px;
}
.centerpara.centerpara--large p {
  color: black;
  font-size: 1.6em;
  line-height: 1.5em;
  letter-spacing: 0.1em;
}
.centerpara p {
  margin: 0;
  font-weight: 400;
  font-size: 1.4em;
  line-height: 160%;
  letter-spacing: 0.28em;
  text-align: center;
}
.centerpara.centerpara--2para p.main {
  margin: 0 auto 20px;
  font-size: 1.6em;
  letter-spacing: 0.2em;
}
.centerpara.centerpara--2para p.sub {
  color: #666;
  font-size: 1.3em;
  line-height: 170%;
  letter-spacing: 0.18em;
}
.centerpara--underrow {
  margin-top: -60px;
}
.centerpara--underrow p {
  font-size: 1.6em;
  line-height: 170%;
  letter-spacing: 0.22em;
}
.content2row {
  display: block;
  margin-bottom: 100px;
  padding: 0 50px;
}
.content2row--first {
  margin-top: 35px;
  margin-bottom: 50px;
}
.content2row:after {
  content: "";
  display: table;
  width: 100%;
  height: 0;
  clear: both;
}
.content2row--bg {
  padding: 100px 0 40px;
  background-position: 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #fdf7f5;
}
.content2col {
  display: block;
  position: relative;
  max-width: 1400px;
  margin: 0 auto 60px;
}
.content2col:after {
  content: "";
  display: table;
  width: 100%;
  height: 0;
  clear: both;
}
.content2col--table {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.content2col--table.left {
  text-align: left;
}
.content2col--table.right {
  text-align: right;
}
.content2col--stag {
  display: block;
  width: 100%;
}
.content2col--stag.left {
  text-align: left;
}
.content2col--stag.right {
  text-align: right;
}
.content2col--stag:after {
  display: none;
}
.content2col--half {
  white-space: nowrap;
}
.content2col--half .content2col__cell {
  white-space: normal;
}
.content2col--half .content2col__cell + .content2col__cell {
  padding-left: 3%;
}
.content2col--half .content2col__cell--s {
  width: 47%;
}
.content2col--half .content2col__cell--l {
  width: 49.5%;
}
.content2col__pic {
  display: block;
  width: 48.6%;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.content2col__pic:hover {
  -webkit-opacity: 0.7;
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.content2col__pic img {
  display: block;
  width: 100%;
}
.content2col__pic--left {
  float: left;
}
.content2col__pic--right {
  float: right;
}
.content2col__cont {
  display: block;
  position: absolute;
  width: 26.5%;
  height: 100%;
  white-space: nowrap;
  table-layout: fixed;
}
.content2col__cont:after {
  display: inline-block;
  width: 0;
  height: 100%;
  content: "";
  vertical-align: middle;
}
.content2col__cont .blockinner {
  display: inline-block;
  width: 100%;
  text-align: center;
  vertical-align: middle;
  white-space: normal;
}
.content2col__cont .more-link {
  margin-top: 40px;
}
.content2col__cont--left {
  top: 0;
  left: 15.2%;
}
.content2col__cont--right {
  top: 0;
  right: 15.2%;
}
.content2col__cell {
  display: inline-block;
  vertical-align: middle;
}
.content2col__cell .blockinner {
  display: inline-block;
  width: 100%;
  text-align: left;
}
.content2col__cell .blockinner--center {
  text-align: center;
}
.content2col__cell .blockinner--center .content2col__title {
  font-size: 2em;
}
.content2col__cell .blockinner--center .content2col__btns {
  margin-top: 15px;
}
.content2col__cell .blockinner--spectop {
  margin-top: 12%;
  margin-bottom: 12%;
}
.content2col__cell .blockinner--spectop .content2col__title {
  font-size: 2em;
  line-height: 170%;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.content2col__cell .blockinner--spectop .content2col__des {
  font-size: 1.4em;
  line-height: 170%;
  letter-spacing: 0.22em;
}
.content2col__cell .content2col__title {
  margin-bottom: 8px;
}
.content2col__cell + .content2col__cell {
  padding-left: 5.7%;
}
.content2col__cell--s {
  width: 38.6%;
}
.content2col__cell--l {
  width: 48.5%;
}
.content2col__cell--l .blockinner--spectop {
  margin-top: 24.74226804%;
  margin-bottom: 20.41237113%;
}
.content2col__cell--m {
  width: 48.5%;
  padding: 0 5.7%;
  text-align: center;
}
.content2col__cell--m .blockinner {
  max-width: 35em;
}
.content2col__title {
  margin-top: 0;
  margin-bottom: 20px;
  color: black;
  font-weight: normal;
  font-size: 1.8em;
  line-height: 1.5em;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.content2col__des {
  margin-top: 0;
  margin-bottom: 10px;
  color: #666;
  font-size: 1.3em;
  line-height: 1.5em;
  letter-spacing: 0.24em;
}
.content2col__des--note {
  color: #a0a0a0;
}
.content2col__inpic + .blockinner {
  margin-top: 50px;
}
.content2col__inpic {
  display: block;
}
.content2col__inpic img {
  display: block;
  width: 100%;
}
.content2col__banner {
  display: block;
  margin-top: 20px;
}
.content2col__btns {
  margin-top: 45px;
}
.content2col__btns a {
  display: inline-block;
}
.content2col__btns--left {
  text-align: left;
}
.content2col__btns--center {
  text-align: center;
}
.content2col__btns--right {
  text-align: right;
}
@media (max-width: 980px) {
  .centerpara {
    margin: 0 auto 10%;
    padding: 0 7%;
    text-align: center;
  }
  .centerpara.centerpara--large p {
    color: #424242;
    font-size: 1.1em;
    line-height: 200%;
    letter-spacing: 0.16em;
  }
  .centerpara p {
    color: #424242;
    font-size: 1.1em;
    line-height: 200%;
    letter-spacing: 0.16em;
  }
  .centerpara.centerpara--2para p.main {
    margin-bottom: 4%;
    color: black;
    font-size: 1.3em;
    line-height: 170%;
    letter-spacing: normal;
  }
  .centerpara.centerpara--2para p.sub {
    font-weight: 300;
    font-size: 1.1em;
    line-height: 180%;
    letter-spacing: normal;
    text-align: center;
  }
  .centerpara--alignl {
    margin: 0 auto 12%;
    padding: 0 7%;
  }
  .centerpara--alignl p {
    color: #424242;
    font-weight: 300;
    font-size: 1.1em;
    line-height: 200%;
    letter-spacing: 0.15em;
    text-align: left;
  }
  .centerpara--underrow {
    margin: 0 auto 6%;
  }
  .centerpara--underrow p {
    color: black;
    font-weight: 400;
    font-size: 1.4em;
    line-height: 170%;
    letter-spacing: 0.12em;
  }
  .content2row {
    margin-bottom: 0;
    padding: 0 7%;
  }
  .content2row--descenter .content2col__des {
    text-align: center;
  }
  .content2row--bg {
    margin-bottom: 10%;
    padding: 10% 7% 1% 7%;
  }
  .content2row--nopad {
    padding: 0;
  }
  .content2row--first {
    margin-top: 0;
  }
  .content2row--first .content2col--stag .content2col__cell .blockinner {
    margin-top: 0;
  }
  .content2row--first .content2col__cell .content2col__des {
    color: #424242;
    font-size: 1.3rem;
    line-height: 180%;
    letter-spacing: 0.12em;
  }
  .content2col {
    margin-bottom: 22%;
  }
  .content2col--stag {
    display: flex;
    flex-direction: column;
    margin-bottom: 15%;
  }
  .content2col--stag .content2col__cell {
    display: block;
    width: 100%;
    padding: 0;
    float: none;
  }
  .content2col--stag .content2col__cell--1 {
    order: 0;
  }
  .content2col--stag .content2col__cell--2 {
    order: 1;
  }
  .content2col--stag .content2col__cell .blockinner {
    display: block;
    width: auto;
    margin-top: 10%;
    padding: 0 7%;
  }
  .content2col--stag .content2col__cell .blockinner--wilder {
    padding: 0 5%;
  }
  .content2col--stag .content2col__cell .blockinner--center .content2col__title,
  .content2col--stag .content2col__cell .blockinner--center .content2col__des {
    text-align: center;
  }
  .content2col--stag .content2col__title {
    margin-bottom: 2%;
    color: black;
    font-weight: 400;
    font-size: 1.3em;
    line-height: 170%;
  }
  .content2col--stag .content2col__des {
    font-size: 1.1em;
    line-height: 180%;
  }
  .content2col__cell--m .blockinner {
    max-width: 100%;
  }
  .content2col__pic {
    width: 100%;
    margin-bottom: 5%;
    float: none;
  }
  .content2col__cont {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    width: 100%;
  }
  .content2col__cont .more-link {
    margin: 7% auto 0;
  }
  .content2col__inpic + .blockinner {
    margin-top: 10%;
  }
  .content2col__title {
    margin: 0 auto 5%;
    font-size: 2rem;
    letter-spacing: 0.22em;
  }
  .content2col__des {
    margin: 0;
    font-size: 1.1rem;
    line-height: 180%;
    letter-spacing: 0.15em;
    text-align: left;
  }
  .content2col__des + .content2col__des {
    margin-top: 0.8em;
  }
  .content2col__banner img {
    max-width: 100%;
  }
  .content2col__btns--left {
    text-align: center;
  }
  .content2col__btns--center {
    text-align: center;
  }
  .content2col__btns--right {
    text-align: center;
  }
}
.pagebanner {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
  height: auto;
  margin: 0 auto 60px auto;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
.pagebanner .blockinner {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  padding: 9.7% 0 8.5%;
}
.pagebanner--light .pagebanner__title,
.pagebanner--light .pagebanner__subtitle,
.pagebanner--light .pagebanner__abovetitle {
  color: white;
  text-shadow: unset;
}
.pagebanner--auto {
  height: auto;
}
.pagebanner--auto picture,
.pagebanner--auto img {
  display: block;
  width: 100%;
  height: auto;
}
.pagebanner__title {
  margin: 0 auto;
  margin: 0;
  font-weight: normal;
  font-size: 3em;
  line-height: 100%;
  letter-spacing: 0.24em;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #f1dde0;
}
.pagebanner__subtitle {
  margin: 0.8em 0 0 0;
  font-size: 1.6em;
  letter-spacing: 0.2em;
  text-align: center;
  text-shadow: 1px 1px 0 #f1dde0;
}
.pagebanner__abovetitle {
  margin: 0 0 1.5em 0;
  font-size: 1.8em;
  letter-spacing: 0.32em;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #f1dde0;
}
@media (max-width: 980px) {
  .pagebanner {
    width: 100%;
    height: 0;
    margin-bottom: 13%;
    padding-bottom: 70.66666667%;
  }
  .pagebanner .blockinner {
    position: absolute;
    top: 25%;
    left: 0;
    padding: 0;
  }
  .pagebanner--mobilelight .pagebanner__title,
  .pagebanner--mobilelight .pagebanner__subtitle,
  .pagebanner--mobilelight .pagebanner__abovetitle {
    color: white;
    text-shadow: unset;
  }
  .pagebanner--light .pagebanner__title:after,
  .pagebanner--mobilelight .pagebanner__title:after {
    background-color: white;
  }
  .pagebanner--short .blockinner {
    top: 38%;
  }
  .pagebanner--short .pagebanner__subtitle {
    margin-top: 4%;
  }
  .pagebanner--auto {
    height: auto;
    padding-bottom: 0;
  }
  .pagebanner__title {
    position: relative;
    color: black;
    font-size: 1.4em;
    line-height: 1.5em;
    letter-spacing: 0.32em;
  }
  .pagebanner__title:after {
    display: block;
    width: 20%;
    height: 1px;
    margin: 4% auto 0;
    background-color: black;
    content: "";
  }
  .pagebanner__subtitle {
    margin-top: 10%;
    color: black;
    font-size: 1.5em;
    line-height: 140%;
    letter-spacing: 0.15em;
  }
}
.pager {
  position: relative;
  overflow: hidden;
}
.pager__list {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  text-align: center;
}
.pager__item {
  display: inline-block;
}
.pager__item--no {
  margin: 0 0 0 10px;
}
.pager__item.now .pager__no {
  border: 1px solid #D8D1D2;
  color: #463D3E;
  pointer-events: none;
}
.pager__item--back,
.pager__item--next {
  width: auto;
  padding: 0 20px;
  border: 0;
}
.pager__no {
  display: block;
  padding: 6px 10px;
  border: 1px solid #FFB5AC;
  color: #FFB5AC;
  font-size: 1.2em;
  text-decoration: none;
}
.pager__no:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.pager__next {
  padding: 0 16px 0 0;
  background-image: url(../images/ic-arrow-08.png);
  background-position: 100% 50%;
  background-repeat: no-repeat;
  color: #463D3E;
  font-size: 1.2em;
  letter-spacing: 1px;
}
.pager__next:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.pager__back {
  padding: 0 0 0 16px;
  background-image: url(../images/ic-arrow-08-2.png);
  background-position: 0 50%;
  background-repeat: no-repeat;
  color: #463D3E;
  font-size: 1.2em;
  letter-spacing: 1px;
}
.pager__back:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
@media (max-width: 980px) {
  .pager {
    position: relative;
    margin: 15px 0;
    overflow: hidden;
  }
  .pager__list {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    text-align: center;
  }
  .pager__item {
    display: inline-block;
  }
  .pager__item--no {
    margin: 0 5px;
    vertical-align: top;
  }
  .pager__item--back,
  .pager__item--next {
    width: auto;
    margin: 0 5px;
    padding: 0;
    border: 0;
    vertical-align: top;
  }
  .pager__no {
    display: block;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 1px solid #FFB5AC;
    color: #FFB5AC;
    font-size: 1.2em;
    line-height: 26px;
    text-decoration: none;
  }
  .pager__no:hover {
    -webkit-opacity: 0.8;
    -moz-opacity: 0.8;
    opacity: 0.8;
  }
  .pager__next {
    display: block;
    width: 26px;
    height: 26px;
    padding: 0;
    background-position: 50% 50%;
    font-size: 0;
    line-height: 26px;
  }
  .pager__back {
    display: block;
    width: 26px;
    height: 26px;
    padding: 0;
    background-position: 50% 50%;
    font-size: 0;
    line-height: 26px;
  }
}
/* guide */
.guide__main {
  margin-bottom: 80px;
  overflow: hidden;
}
.side__head--guide {
  width: 100%;
  margin: 0 auto 5px;
  padding: 20px 0;
  border-top: 1px solid #333333;
  border-bottom: none;
  color: #463D3E;
  text-align: right;
}
.guide__sidetitle {
  margin: 0;
  padding: 0 0 0 10px;
  font-weight: 300;
  font-size: 1.8em;
  line-height: 1.5em;
}
.guide__sidesubtitle {
  margin: 0;
  padding: 0 0 0 10px;
  font-size: 1.1em;
  line-height: 1.5em;
}
.guide__sidelist {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #CDCDCD;
  list-style: none;
}
.guide__sideitem {
  display: block;
  width: 100%;
  border-top: 1px solid #CDCDCD;
  text-align: right;
}
.guide__sideitem a {
  display: block;
  padding: 15px 0px;
  color: #463D3E;
  font-size: 1.2em;
  line-height: 1.6;
}
.guide__sideitem a:hover {
  text-decoration: underline;
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
.guide__sideitem a span {
  display: block;
  margin: 0 10px 0 0;
  padding: 0 20px 0 0;
  background-image: url(../images/ic-arrow-08.png);
  background-position: 100% 50%;
  background-size: 4px auto;
  background-repeat: no-repeat;
}
.guide__content {
  width: 75.8%;
  float: right;
}
.guide__sectitle {
  display: block;
  width: auto;
  height: 34px;
  margin: 0 0 20px;
  padding: 10px 0 0 10px;
  background-color: #463D3E;
  color: white;
  font-weight: 300;
  font-size: 1.6em;
  line-height: 1.3em;
}
@media (max-width: 980px) {
  .guide .article__top {
    margin: 25px auto;
  }
  .guide .article__toptitle {
    margin: 0 0 6px;
    font-size: 1.3em;
  }
  .guide .article__topsubtitle {
    font-size: 1em;
    line-height: 1.5em;
    letter-spacing: 0.15em;
  }
  .guide__main {
    margin-bottom: 40px;
    overflow: hidden;
  }
  .guide__content {
    width: 100%;
    float: none;
  }
  .guide__sectitle {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 10px 3%;
    font-size: 1.2em;
    line-height: 1.5em;
  }
}
/* crosslink */
.crosslinks {
  margin-bottom: 40px;
  overflow: hidden;
}
.crosslinks__block {
  box-sizing: border-box;
  width: 49.8%;
  float: left;
}
.crosslinks__block--left {
  margin-right: 0.4%;
}
.crosslinks__block--right {
  float: right;
}
.crosslinks__block--right .crosslinks__item--l {
  background-position: center center;
  background-size: auto 114%;
}
.crosslinks__item {
  position: relative;
  width: 100%;
  margin-bottom: 0.8%;
  background-position: left center;
  background-size: cover;
}
.crosslinks__item:before {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 50.16722408%;
  content: "";
}
.crosslinks__item--s:before {
  padding-bottom: 42.30769231%;
}
.crosslinks__item .blockinner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.crosslinks__item .cover-btn {
  background-color: white;
  -webkit-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.crosslinks__item .cover-btn:hover {
  -webkit-opacity: 0.2;
  -moz-opacity: 0.2;
  opacity: 0.2;
}
.crosslinks__halfitem {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 49.6%;
  height: 100%;
  padding-top: 26%;
  float: left;
  background-position: 50% 5px;
  background-size: 82.5% auto;
  background-repeat: no-repeat;
  background-color: #EFEFEF;
}
.crosslinks__halfitem--right {
  margin-left: 0.8%;
}
.crosslinks__cont {
  text-align: center;
}
.crosslinks__cont .eng-text {
  display: block;
  margin: 0 0 10px;
  color: #2D2627;
}
.crosslinks__cont .eng-text span {
  position: relative;
  padding-bottom: 6px;
  font-size: 1.8em;
  line-height: 150%;
  text-align: center;
}
.crosslinks__cont .eng-text span:after {
  position: absolute;
  bottom: 0;
  left: 16%;
  width: 68%;
  height: 1px;
  background-color: #2D2627;
  content: "";
}
.crosslinks__cont .cht-text {
  margin: 0;
  color: #000;
  font-size: 1.3em;
  line-height: 150%;
  letter-spacing: 0.15em;
}
.crosslinks__cont .more {
  margin: 11% 0 0 0;
  color: #463D3E;
  font-size: 1.2em;
  line-height: 1.6em;
}
.crosslinks__cont .more span {
  padding: 0 0 0 16px;
  background-image: url(../images/ic-arrow-08.png);
  background-position: 0 50%;
  background-size: 4px auto;
  background-repeat: no-repeat;
}
.crosslinks__cont--about {
  margin-top: 16%;
  margin-left: 24%;
  text-align: left;
}
.crosslinks__cont--about .eng-text span {
  position: relative;
  padding-bottom: 6px;
  font-size: 2.9em;
  letter-spacing: 1.2px;
}
.crosslinks__cont--about .eng-text span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 80%;
  height: 1px;
  background-color: #2D2627;
  content: "";
}
.crosslinks__cont--about .more {
  position: absolute;
  top: 50%;
  right: 3.33333333%;
  margin: 0;
}
.crosslinks__cont--ec {
  position: absolute;
  top: 32%;
  right: 5.83333333%;
}
.crosslinks__cont--ec .more {
  margin-top: 48%;
}
.crosslinks__cont--propose {
  position: relative;
  top: 36.66666667%;
  right: 5.83333333%;
  height: 100%;
  float: right;
}
.crosslinks__cont--propose .more {
  position: absolute;
  bottom: 50%;
  margin: 0 0 -1em;
}
.crosslinks__cont--propose .more span {
  background-image: url(../images/ic-arrow-07.png);
}
.crosslinks__cont--propose .eng-text span:after {
  background-color: white;
}
.crosslinks__cont--propose .eng-text,
.crosslinks__cont--propose .cht-text,
.crosslinks__cont--propose .more {
  color: white;
}
@media (max-width: 980px) {
  .crosslinks {
    margin-bottom: 3%;
    padding: 0 4px;
    overflow: hidden;
  }
  .crosslinks__block {
    box-sizing: border-box;
    width: 100%;
    float: none;
  }
  .crosslinks__block--left {
    margin-right: 0;
  }
  .crosslinks__block--right {
    float: none;
  }
  .crosslinks__block--right .crosslinks__item--l {
    background-position: center center;
    background-size: auto 100%;
  }
  .crosslinks__block--right .crosslinks__item--l:before {
    padding-bottom: 85.3% !important;
  }
  .crosslinks__item {
    position: relative;
    width: 100%;
    margin-bottom: 0.8%;
    background-position: left center;
    background-size: cover;
  }
  .crosslinks__item:before {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 70%;
    content: "";
  }
  .crosslinks__item--s:before {
    padding-bottom: 70%;
  }
  .crosslinks__item:nth-child(1):before {
    padding-bottom: 42.6%;
  }
  .crosslinks__item .cover-btn:hover {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
  }
  .crosslinks__halfitem {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 49.6%;
    height: 100%;
    padding-top: 24%;
    float: left;
    background-position: 50% 50%;
    background-size: 74.6% auto;
    background-repeat: no-repeat;
    background-color: #EFEFEF;
  }
  .crosslinks__halfitem--right {
    margin-left: 0.8%;
  }
  .crosslinks__cont {
    text-align: center;
  }
  .crosslinks__cont .eng-text {
    display: block;
    margin: 0 0 10px;
    color: #2D2627;
  }
  .crosslinks__cont .eng-text span {
    position: relative;
    padding-bottom: 6px;
    font-size: 1.3em;
    line-height: 150%;
    text-align: center;
  }
  .crosslinks__cont .eng-text span:after {
    position: absolute;
    bottom: 0;
    left: 16%;
    width: 68%;
    height: 1px;
    background-color: #2D2627;
    content: "";
  }
  .crosslinks__cont .cht-text {
    margin: 0;
    color: #000;
    font-size: 1em;
    line-height: 150%;
    letter-spacing: 0.15em;
  }
  .crosslinks__cont .more {
    margin: 11% 0 0 0;
    color: #463D3E;
    font-size: 1.2em;
    line-height: 1.6em;
  }
  .crosslinks__cont .more span {
    padding: 0 0 0 16px;
    background-image: url(../images/ic-arrow-08.png);
    background-position: 0 50%;
    background-size: 4px auto;
    background-repeat: no-repeat;
  }
  .crosslinks__cont--about {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    margin: 0;
    padding-top: 34.93333333%;
    padding-left: 39%;
    text-align: left;
  }
  .crosslinks__cont--about .eng-text {
    margin-top: -28px;
  }
  .crosslinks__cont--about .eng-text span {
    position: relative;
    padding-bottom: 4px;
    font-size: 1.7em;
    line-height: 1.2;
    letter-spacing: normal;
  }
  .crosslinks__cont--about .eng-text span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 1px;
    background-color: #2D2627;
    content: "";
  }
  .crosslinks__cont--about .more {
    position: absolute;
    top: auto;
    right: 3%;
    bottom: 5px;
    margin: 0;
  }
  .crosslinks__cont--ec {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 35px 0 0 0;
  }
  .crosslinks__cont--ec .more {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 5px;
    left: 0;
    width: 100%;
    margin: 0;
    text-align: center;
  }
  .crosslinks__cont--propose {
    box-sizing: border-box;
    position: static;
    margin: 0;
    margin-top: 34.93333333%;
    margin-right: 8%;
    float: right;
  }
  .crosslinks__cont--propose .eng-text span {
    font-size: 1.7em;
  }
  .crosslinks__cont--propose .more {
    position: absolute;
    top: auto;
    right: 3%;
    bottom: 5px;
    margin: 0;
  }
  .crosslinks__cont--propose .more span {
    background-image: url(../images/ic-arrow-07.png);
  }
  .crosslinks__cont--propose .eng-text span:after {
    background-color: white;
  }
  .crosslinks__cont--propose .eng-text,
  .crosslinks__cont--propose .cht-text,
  .crosslinks__cont--propose .more {
    color: white;
  }
}
/* choice */
.choice__block {
  margin: 0 0 20px;
}
.choice__title {
  margin: 0 0 5px;
  color: #463D3E;
  font-weight: 400;
  font-size: 1.7em;
  line-height: 1.3em;
}
.choice__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.choice__item {
  display: table;
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 20px;
  overflow: hidden;
  border: 1px solid #ABA2A0;
  table-layout: fixed;
}
.choice__item .caption {
  display: table-cell;
  padding: 35px 10px 0 20px;
  vertical-align: top;
}
.choice__pic {
  display: table-cell;
  width: 300px;
  vertical-align: top;
}
.choice__pic img {
  display: block;
  width: 100%;
}
.choice__type {
  margin: 0 0 10px;
  padding: 0 0 0 43px;
  background-position: 0 -31px;
  background-size: 31px auto;
  background-repeat: no-repeat;
  color: #463D3E;
  font-weight: 400;
  font-size: 2em;
  line-height: 31px;
  letter-spacing: 0.15em;
}
.choice__type--type1 {
  background-image: url(../images/ic-2-1.png);
}
.choice__type--type2 {
  background-image: url(../images/ic-2-2.png);
}
.choice__type--type3 {
  background-image: url(../images/ic-2-3.png);
}
.choice__type--type4 {
  background-image: url(../images/ic-3-1.png);
}
.choice__type--type5 {
  background-image: url(../images/ic-3-2.png);
}
.choice__type--type6 {
  background-image: url(../images/ic-3-3.png);
}
.choice__type--type7 {
  background-image: url(../images/ic-3-4.png);
}
.choice__des {
  margin: 0 0 30px;
  color: #463D3E;
  font-size: 1.2em;
  line-height: 1.7em;
}
.choice__subtitle {
  width: 86%;
  margin: 0 0 10px;
  padding: 2px 7px;
  background-color: #ABA2A0;
  color: white;
  font-size: 1.3em;
  line-height: 1.6em;
}
.choice__links {
  margin: 0;
}
.choice__links a {
  margin: 0 30px 0 0;
  padding: 0 0 0 15px;
  background-image: url(../images/ic-arrow-08.png);
  background-position: 0% 50%;
  background-size: 4px auto;
  background-repeat: no-repeat;
  color: #463D3E;
  font-size: 1.3em;
  line-height: 1.6em;
  text-decoration: underline;
}
.choice__links a:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
@media (max-width: 980px) {
  .choice__block {
    margin: 0 0 20px 0;
  }
  .choice__title {
    margin: 0;
    padding: 10px 3%;
    color: #463D3E;
    font-weight: 300;
    font-size: 1.3em;
    line-height: 1.3em;
  }
  .choice__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .choice__item {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: 94%;
    margin: 0 3% 10px;
    padding: 25px 7% 5px;
    overflow: hidden;
    border: 1px solid #ABA2A0;
  }
  .choice__item .caption {
    display: block;
    order: 0;
    padding: 0;
    vertical-align: top;
  }
  .choice__pic {
    display: block;
    order: 1;
    width: auto;
  }
  .choice__type {
    padding: 0 0 10px 35px;
    border-bottom: 1px dotted #ABA2A0;
    background-position: 0 -25px;
    background-size: 25px auto;
    font-size: 1.5rem;
    line-height: 25px;
  }
  .choice__des {
    margin: 0 0 15px;
    color: #463D3E;
    font-size: 1.2em;
    line-height: 1.7em;
  }
  .choice__subtitle {
    width: 94%;
    margin: 0 0 10px;
    padding: 2px 3%;
    background-color: #ABA2A0;
    font-size: 1em;
  }
  .choice__links {
    margin: 0;
  }
  .choice__links a {
    font-size: 1em;
  }
}
/* legend */
.legend {
  margin: 0 0 10px 0;
}
.legend__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.legend__item {
  display: table;
  width: 100%;
  margin-bottom: 20px;
  overflow: hidden;
  table-layout: fixed;
}
.legend__item .caption {
  display: table-cell;
  padding-left: 20px;
  vertical-align: top;
}
.legend__pic {
  display: table-cell;
  width: 300px;
  vertical-align: top;
}
.legend__pic img {
  width: 100%;
}
.legend__title {
  margin: 0 0 10px;
  color: #463D3E;
  font-size: 1.5em;
  line-height: 1.3em;
}
.legend__text {
  color: #463D3E;
  font-size: 1.3em;
  line-height: 1.8em;
}
.legend__text p {
  margin: 0 0 20px;
}
@media (max-width: 980px) {
  .legend {
    margin: 0;
  }
  .legend__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .legend__item {
    display: block;
    margin-bottom: 20px;
    overflow: hidden;
  }
  .legend__item .caption {
    display: block;
    width: 94%;
    margin: 0;
    padding: 0 3% 0;
    color: #4A4344;
  }
  .legend__pic {
    display: block;
    width: 100%;
  }
  .legend__pic img {
    display: block;
  }
  .legend__title {
    margin: 10px 0;
    color: #463D3E;
    font-weight: 300;
    font-size: 1.2em;
    line-height: 1.3;
    letter-spacing: 0.15em;
    text-align: left;
  }
  .legend__text {
    color: #463D3E;
    font-size: 1em;
    line-height: 1.8em;
  }
  .legend__text p {
    margin: 0;
  }
}
.search-mod {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 90;
  overflow: hidden;
  height: 0;
  opacity: 0;
  transition: height 0.4s cubic-bezier(0.42, 0, 0.58, 1), opacity 0s 0.4s;
}
.search-mod.open {
  height: 100%;
  overflow: visible;
  opacity: 1;
  transition: height 0.4s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.4s;
}
.search-mod__cover {
  position: absolute;
  top: 90px;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
@media (max-width: 980px) {
  .search-mod__cover {
    top: 80px;
  }
}
.search-mod__inner {
  position: relative;
  z-index: 2;
  padding: 0 50px 60px 50px;
  margin: 60px auto 0 auto;
  background-color: white;
}
@media (max-width: 980px) {
  .search-mod__inner {
    margin-top: 52px;
    padding-left: 3%;
    padding-right: 3%;
    min-width: 0;
  }
}
.search-mod__block {
  position: relative;
  border-bottom: 1px solid #333;
  max-width: 1380px;
  margin: auto;
}
.search-mod__block:before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  height: 24px;
  width: 24px;
  transform: translate(0, -50%);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../../images/icon-search-circle.svg);
}
.search-mod__block input {
  height: 80px;
  width: 100%;
  padding-left: 60px;
  padding-right: 60px;
  font-size: 15px;
}
.search-mod__close {
  position: absolute;
  right: 0px;
  top: 20px;
  display: flex;
  height: 40px;
  width: 40px;
  align-items: center;
  justify-content: center;
}
.search-mod__close img {
  width: 60%;
  height: auto;
}
.search-mod__hot {
  max-width: 1380px;
  margin: auto;
}
.search-mod__hot-label {
  margin: 0;
  display: flex;
  height: 50px;
  align-items: center;
  padding-left: 30px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: 0.05em;
  color: #999;
}
.search-mod__hot-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.search-mod__hot-item {
  display: flex;
  height: 50px;
  align-items: center;
  border-bottom: 1px solid #999;
  font-size: 15px;
  line-height: 1em;
  letter-spacing: 0.05em;
  color: #999;
  padding-left: 40px;
}
.search-mod__hot-item:first-child {
  border-top: 1px solid #999;
}
.search-mod__hot-item:hover {
  color: black;
  background-color: #f8f8f8;
}
.search-mod__link {
  display: flex;
  height: 100%;
  width: 100%;
  flex: 1 1 auto;
  align-items: center;
}
.search-mod__link span {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  line-height: 2em;
}
.search-mod__link:before {
  content: "";
  margin-right: 0.5rem;
  display: block;
  height: 1em;
  width: 1em;
  flex: none;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../../images/icon-search-circle.svg);
}
.fixed-links {
  position: fixed;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  z-index: 90;
  transition: opacity 0.3s;
}
@media (max-width: 575px) {
  .fixed-links {
    top: auto;
    left: 10px;
    bottom: 5px;
    transform: translate(0, 0);
  }
}
.fixed-links__list {
  padding: 0 1rem 0 1rem;
  margin: 0;
  list-style: none;
}
@media (max-width: 575px) {
  .fixed-links__list {
    display: flex;
    justify-content: center;
    border-radius: 20px;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5);
    background-color: white;
  }
}
.fixed-links__item {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 575px) {
  .fixed-links__item:first-child .fixed-links__btn {
    border-left: none;
  }
}
.fixed-links__item:nth-child(3) img {
  width: 25px;
}
.fixed-links__btn {
  display: flex;
  float: right;
  align-items: center;
  overflow: hidden;
  width: 48px;
  height: 48px;
  margin: 5px 0;
  border-radius: 24px;
  white-space: nowrap;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.15);
  background-color: white;
  transition: all 0.5s;
}
.fixed-links__btn .text {
  opacity: 0;
  font-size: 1.3rem;
  transition: all 0.3s 0.2s;
}
@media (max-width: 575px) {
  .fixed-links__btn {
    width: fit-content;
    height: fit-content;
    overflow: visible;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
    border-left: 1px solid #b4b4b4;
    margin-right: 1rem;
  }
  .fixed-links__btn .text {
    font-size: 12px;
    line-height: 1.5em;
    letter-spacing: 0.12em;
    font-weight: 300;
    opacity: 1;
  }
}
.fixed-links__icon {
  display: block;
  width: 16px;
  height: 16px;
  margin: 16px;
}
@media (max-width: 575px) {
  .fixed-links__icon {
    width: 20px;
    margin: 8px 10px;
  }
}
.fixed-links__btn:hover {
  background-color: #f6f6f6;
  width: 160px;
}
.fixed-links__btn:hover .text {
  opacity: 1;
}
@media (max-width: 575px) {
  .fixed-links__btn:hover {
    background-color: inherit;
    width: inherit;
  }
}
@media (max-width: 575px) {
  .fixed-links.hide {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    visibility: hidden;
  }
}
.mainvisual__slick,
.pdbanner,
.cate__slider {
  overflow: hidden;
}
.mainvisual__slider .slick-slide:nth-child(1),
.pdbanner .slick-slide:nth-child(1),
.cate__slider .slick-slide:nth-child(1) {
  display: block;
  width: 100%;
}
.ratio {
  aspect-ratio: 1;
  object-fit: contain;
}
.ratio--logo {
  aspect-ratio: 7.8;
  object-fit: contain;
}
.ratio-index--typekv {
  aspect-ratio: 2.70588235;
}
@media (max-width: 980px) {
  .ratio-index--typekv {
    aspect-ratio: 0.90361446;
    object-fit: cover;
  }
}
.ratio-index--typepickring {
  aspect-ratio: 1.08791209;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-index--typepickring {
    aspect-ratio: 1.14492754;
  }
}
.ratio-er--typekv,
.ratio-mr--typekv,
.ratio-setring--typekv,
.ratio-eternring--typekv {
  aspect-ratio: 3.08695652;
}
@media (max-width: 980px) {
  .ratio-er--typekv,
  .ratio-mr--typekv,
  .ratio-setring--typekv,
  .ratio-eternring--typekv {
    aspect-ratio: 0.72815534;
    object-fit: cover;
  }
}
.ratio-er--typelist,
.ratio-mr--typelist,
.ratio-setring--typelist,
.ratio-eternring--typelist {
  height: auto;
  object-fit: contain;
}
.ratio-er--typepic,
.ratio-mr--typepic,
.ratio-setring--typepic,
.ratio-eternring--typepic {
  height: auto;
}
@media (max-width: 980px) {
  .ratio-er--typepic,
  .ratio-mr--typepic,
  .ratio-setring--typepic,
  .ratio-eternring--typepic {
    aspect-ratio: 1.38297872;
  }
}
.ratio-er--lineup,
.ratio-mr--lineup,
.ratio-setring--lineup,
.ratio-eternring--lineup {
  height: auto;
  object-fit: contain;
}
.ratio-er--lineup-1,
.ratio-mr--lineup-1,
.ratio-setring--lineup-1,
.ratio-eternring--lineup-1 {
  aspect-ratio: 1.85106383;
}
.ratio-er--lineup-2,
.ratio-mr--lineup-2,
.ratio-setring--lineup-2,
.ratio-eternring--lineup-2 {
  aspect-ratio: 2.56470588;
}
.ratio-er--lineup-3,
.ratio-mr--lineup-3,
.ratio-setring--lineup-3,
.ratio-eternring--lineup-3 {
  aspect-ratio: 1.71568627;
}
.ratio-er--lineup-4,
.ratio-mr--lineup-4,
.ratio-setring--lineup-4,
.ratio-eternring--lineup-4 {
  aspect-ratio: 2.31428571;
}
.ratio-aniring--typepic {
  aspect-ratio: 1.81818182;
  height: auto;
}
.ratio-aniring--typelist {
  aspect-ratio: 1.77777778;
  height: auto;
}
.ratio-aniring--4cpic {
  aspect-ratio: 1.51190476;
  height: auto;
  object-fit: contain;
}
.ratio-aniring--4cbtn {
  aspect-ratio: 5;
}
.ratio-ani--typekv {
  aspect-ratio: 4.24242424;
}
@media (max-width: 980px) {
  .ratio-ani--typekv {
    aspect-ratio: 1.36363636;
  }
}
.ratio-ani--typelist {
  height: auto;
  object-fit: contain;
}
.ratio-ani--typepic {
  height: auto;
}
@media (max-width: 980px) {
  .ratio-ani--typepic {
    aspect-ratio: 1.38297872;
  }
}
.ratio-ani--lineup {
  height: auto;
  object-fit: contain;
}
.ratio-ani--lineup-1 {
  aspect-ratio: 1.85106383;
}
.ratio-ani--lineup-2 {
  aspect-ratio: 2.56470588;
}
.ratio-ani--lineup-3 {
  aspect-ratio: 1.71568627;
}
.ratio-ani--lineup-4 {
  aspect-ratio: 2.31428571;
}
.ratio-aboutip--typepic {
  aspect-ratio: 1.53658537;
}
@media (max-width: 980px) {
  .ratio-aboutip--typepic {
    aspect-ratio: 1.73170732;
    height: auto;
  }
}
.ratio-voice--typekv,
.ratio-voicearticle--typekv,
.ratio-voiceshop--typekv {
  aspect-ratio: 6.12244898;
}
@media (max-width: 980px) {
  .ratio-voice--typekv,
  .ratio-voicearticle--typekv,
  .ratio-voiceshop--typekv {
    aspect-ratio: 1.84971098;
    height: auto;
  }
}
.ratio-shop--typekv {
  aspect-ratio: 2.5;
}
@media (max-width: 980px) {
  .ratio-shop--typekv {
    height: auto;
  }
}
.ratio-shop--typepic {
  aspect-ratio: 0.72709163;
}
.ratio-ring--typepic {
  aspect-ratio: 1.77777778;
}
.ratio-ring--intropic {
  aspect-ratio: 4.39490446;
}
.ratio-ring--recentpic {
  object-fit: contain;
}
.ratio-design--typekv {
  aspect-ratio: 1.97222222;
  height: auto;
}
.ratio-design--typepic {
  aspect-ratio: 1.77545692;
  height: auto;
  object-fit: contain;
}
.ratio-quality--typekv {
  aspect-ratio: 1.97222222;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-quality--typekv {
    aspect-ratio: 2.57586207;
  }
}
.ratio-quality--typepic {
  aspect-ratio: 1.77545692;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-quality--specpic {
    object-fit: contain;
    height: auto;
  }
}
.ratio-quality--specpic-1 {
  aspect-ratio: 2.07048458;
}
@media (max-width: 980px) {
  .ratio-quality--specpic-1 {
    aspect-ratio: 1.69712794;
  }
}
.ratio-quality--specpic-2 {
  aspect-ratio: 5.87209302;
}
@media (max-width: 980px) {
  .ratio-quality--specpic-2 {
    aspect-ratio: 0.61904762;
    object-fit: cover;
  }
}
@media (max-width: 980px) {
  .ratio-quality--rerange {
    object-fit: contain;
    height: auto;
  }
}
.ratio-quality--rerange-1 {
  aspect-ratio: 1.93403694;
}
.ratio-quality--rerange-2 {
  aspect-ratio: 0.68410463;
}
.ratio-service--typekv {
  aspect-ratio: 1.97222222;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-service--typekv {
    aspect-ratio: 2.57586207;
  }
}
.ratio-service--typepic {
  height: auto;
  object-fit: contain;
}
.ratio-service--typepic-1 {
  aspect-ratio: 1.77545692;
}
.ratio-service--typepic-2 {
  aspect-ratio: 1.7232376;
}
.ratio-service--typepic-3 {
  aspect-ratio: 1.44467641;
}
@media (max-width: 980px) {
  .ratio-service--typepic-3 {
    object-fit: cover;
  }
}
.ratio-service--addition {
  height: auto;
  object-fit: contain;
}
.ratio-service--carve {
  height: auto;
  object-fit: contain;
}
.ratio-service--carve-1 {
  aspect-ratio: 12.21505376;
}
@media (max-width: 980px) {
  .ratio-service--carve-1 {
    aspect-ratio: 2.82608696;
  }
}
.ratio-service--carve-2 {
  aspect-ratio: 7.78231293;
}
@media (max-width: 980px) {
  .ratio-service--carve-2 {
    aspect-ratio: 1.84659091;
  }
}
.ratio-service--carve-3 {
  aspect-ratio: 18.67741935;
}
@media (max-width: 980px) {
  .ratio-service--carve-3 {
    aspect-ratio: 4.22077922;
  }
}
.ratio-service--carve-4 {
  aspect-ratio: 2.63934426;
}
.ratio-aboutshop--typekv,
.ratio-staff--typekv {
  aspect-ratio: 1.97222222;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-aboutshop--typekv,
  .ratio-staff--typekv {
    aspect-ratio: 2.57586207;
  }
}
.ratio-aboutshop--typepic,
.ratio-staff--typepic {
  aspect-ratio: 1.77545692;
  height: auto;
  object-fit: contain;
}
.ratio-engagement--slidepic {
  aspect-ratio: 0.84033613;
  height: auto;
  object-fit: contain;
}
.ratio-engagement--typelist-str {
  height: auto;
  object-fit: contain;
}
.ratio-engagement--typelist-str-1 {
  aspect-ratio: 1.85106383;
}
.ratio-engagement--typelist-str-2 {
  aspect-ratio: 2.02479339;
}
.ratio-engagement--typelist-str-3 {
  aspect-ratio: 2.65957447;
}
.ratio-engagement--typelist-str-4 {
  aspect-ratio: 1.75;
}
@media (max-width: 980px) {
  .ratio-engagement--typelist-str {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }
}
.ratio-engagement--typelist-wave {
  height: auto;
  object-fit: contain;
}
.ratio-engagement--typelist-wave-1 {
  aspect-ratio: 1.90425532;
}
.ratio-engagement--typelist-wave-2 {
  aspect-ratio: 1.86021505;
}
.ratio-engagement--typelist-wave-3 {
  aspect-ratio: 2.27272727;
}
.ratio-engagement--typelist-wave-4 {
  aspect-ratio: 2.4;
}
@media (max-width: 980px) {
  .ratio-engagement--typelist-wave {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }
}
.ratio-engagement--typelist-v {
  height: auto;
  object-fit: contain;
}
.ratio-engagement--typelist-v-1 {
  aspect-ratio: 1.4375;
}
.ratio-engagement--typelist-v-2 {
  aspect-ratio: 2.10416667;
}
.ratio-engagement--typelist-v-3 {
  aspect-ratio: 2.65957447;
}
.ratio-engagement--typelist-v-4 {
  aspect-ratio: 1.75;
}
@media (max-width: 980px) {
  .ratio-engagement--typelist-v {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }
}
.ratio-engagement--4cpic {
  aspect-ratio: 1.51190476;
  height: auto;
  object-fit: contain;
}
.ratio-engagement--4cbtn {
  aspect-ratio: 5;
}
.ratio-marriage--slidepic {
  aspect-ratio: 0.84033613;
  height: auto;
  object-fit: contain;
}
.ratio-marriage--typepic {
  aspect-ratio: 2.16;
  height: auto;
  object-fit: contain;
}
.ratio-marriage--4cpic {
  aspect-ratio: 1.51190476;
  height: auto;
  object-fit: contain;
}
.ratio-marriage--4cbtn {
  aspect-ratio: 5;
}
.ratio-series--typepic {
  aspect-ratio: 1.375;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-series--typepic {
    aspect-ratio: 1.5625;
  }
}
.ratio-series--lineup {
  height: auto;
  object-fit: contain;
}
.ratio-series--lineup-1 {
  aspect-ratio: 1.85106383;
}
.ratio-series--lineup-2 {
  aspect-ratio: 2.56470588;
}
.ratio-series--lineup-3 {
  aspect-ratio: 1.71568627;
}
.ratio-series--lineup-4 {
  aspect-ratio: 2.31428571;
}
.ratio-newbridal--typekv {
  aspect-ratio: 2.22222222;
}
@media (max-width: 980px) {
  .ratio-newbridal--typekv {
    aspect-ratio: 0.90361446;
    height: auto;
    object-fit: cover;
  }
}
.ratio-newbridal--typepic {
  aspect-ratio: 1.33333333;
}
@media (max-width: 980px) {
  .ratio-newbridal--typepic-1 {
    aspect-ratio: 0.97402597;
    height: auto;
    object-fit: cover;
  }
}
@media (max-width: 980px) {
  .ratio-newbridal--typepic-2 {
    aspect-ratio: 1.33451957;
    height: auto;
    object-fit: cover;
  }
}
.ratio-newbridal--po {
  aspect-ratio: 4.13793103;
}
@media (max-width: 980px) {
  .ratio-newbridal--po {
    aspect-ratio: 1.3375;
    object-fit: cover;
  }
}
.ratio-newbridal--features {
  aspect-ratio: 1.67605634;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-newbridal--features-2 {
    aspect-ratio: 1.675;
    width: auto;
    height: auto;
    object-fit: contain;
  }
}
.ratio-newbridal--blockpic {
  aspect-ratio: 3.07692308;
}
@media (max-width: 980px) {
  .ratio-newbridal--blockpic {
    aspect-ratio: 0.9375;
    height: auto;
    object-fit: cover;
  }
}
@media (max-width: 980px) {
  .ratio-newbridal--coordinate {
    height: auto;
    object-fit: contain;
  }
}
.ratio-flowery--typekv {
  aspect-ratio: 2.22222222;
}
@media (max-width: 980px) {
  .ratio-flowery--typekv {
    aspect-ratio: 0.90361446;
    height: auto;
    object-fit: cover;
  }
}
.ratio-flowery--typepic {
  aspect-ratio: 1.33333333;
}
@media (max-width: 980px) {
  .ratio-flowery--typepic {
    width: auto;
    height: auto;
    object-fit: cover;
  }
}
@media (max-width: 980px) {
  .ratio-flowery--typepic-1 {
    width: ;
    aspect-ratio: 1.45631068;
  }
}
@media (max-width: 980px) {
  .ratio-flowery--typepic-2 {
    aspect-ratio: 1.33451957;
  }
}
.ratio-flowery--features {
  aspect-ratio: 1.67605634;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-flowery--features {
    aspect-ratio: 1.675;
    width: auto;
    height: auto;
    object-fit: contain;
  }
}
.ratio-flowery--blockpic {
  aspect-ratio: 3.07692308;
}
@media (max-width: 980px) {
  .ratio-flowery--blockpic {
    aspect-ratio: 0.9375;
    height: auto;
    object-fit: cover;
  }
}
.ratio-flowery--typelist {
  width: auto;
  height: auto;
  object-fit: contain;
}
.ratio-flowery--typelist-1 {
  aspect-ratio: 2.5;
}
.ratio-flowery--typelist-2 {
  aspect-ratio: 0.71748879;
}
@media (max-width: 980px) {
  .ratio-flowery--typelist-2 {
    aspect-ratio: 1.36363636;
  }
}
.ratio-flowery--setring {
  aspect-ratio: 3;
  object-fit: contain;
}
.ratio-hatsusora--typekv {
  aspect-ratio: 2.24299065;
}
@media (max-width: 980px) {
  .ratio-hatsusora--typekv {
    aspect-ratio: 0.9057971;
    height: auto;
    object-fit: cover;
  }
}
@media (max-width: 980px) {
  .ratio-hatsusora--typepic {
    width: auto;
    height: auto;
    object-fit: cover;
  }
}
.ratio-hatsusora--typepic-1 {
  aspect-ratio: 1.33333333;
}
@media (max-width: 980px) {
  .ratio-hatsusora--typepic-1 {
    aspect-ratio: 1.45631068;
  }
}
.ratio-hatsusora--typepic-2 {
  aspect-ratio: 1.33511348;
  height: auto;
}
.ratio-hatsusora--features-1 {
  aspect-ratio: 1.67504188;
  height: auto;
  object-fit: contain;
}
.ratio-hatsusora--features-2 {
  aspect-ratio: 1.67605634;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-hatsusora--features-2 {
    aspect-ratio: 1.675;
  }
}
.ratio-hatsusora--lineup {
  aspect-ratio: 3.07692308;
}
@media (max-width: 980px) {
  .ratio-hatsusora--lineup {
    aspect-ratio: 1.06990014;
    object-fit: cover;
  }
}
.ratio-hatsusora--typelist {
  aspect-ratio: 1.35869565;
}
.ratio-etoile--typekv {
  aspect-ratio: 2.70588235;
}
@media (max-width: 980px) {
  .ratio-etoile--typekv {
    aspect-ratio: 0.90361446;
    height: auto;
    object-fit: cover;
  }
}
.ratio-etoile--typepic {
  aspect-ratio: 1.33333333;
}
@media (max-width: 980px) {
  .ratio-etoile--typepic {
    object-fit: cover;
    height: auto;
  }
}
@media (max-width: 980px) {
  .ratio-etoile--typepic-1 {
    aspect-ratio: 1.45631068;
  }
}
@media (max-width: 980px) {
  .ratio-etoile--typepic-2 {
    aspect-ratio: 1.33451957;
  }
}
.ratio-etoile--makepic {
  aspect-ratio: 1.55;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-etoile--makepic {
    aspect-ratio: 1.55813953;
    width: auto;
    height: auto;
    object-fit: contain;
  }
}
.ratio-etoile--features {
  aspect-ratio: 1.67605634;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-etoile--features {
    aspect-ratio: 1.675;
    width: auto;
    height: auto;
    object-fit: contain;
  }
}
.ratio-etoile--blockpic {
  aspect-ratio: 3.07692308;
}
@media (max-width: 980px) {
  .ratio-etoile--blockpic {
    aspect-ratio: 1.33928571;
    height: auto;
    object-fit: contain;
  }
}
.ratio-etoile--typelist {
  aspect-ratio: 1.328125;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-etoile--typelist {
    aspect-ratio: 1.44206009;
  }
}
.ratio-brandstory--typepic {
  aspect-ratio: 1.05855856;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-brandstory--typepic {
    aspect-ratio: 1.19236884;
  }
}
.ratio-proring--ringpic {
  aspect-ratio: 5.2173913;
}
@media (max-width: 980px) {
  .ratio-proring--ringpic {
    aspect-ratio: 4.00625;
    object-fit: contain;
    height: auto;
  }
}
.ratio-proring--blockpic {
  aspect-ratio: 1.44;
}
@media (max-width: 980px) {
  .ratio-proring--blockpic {
    aspect-ratio: 1.73056995;
    object-fit: contain;
    height: auto;
  }
}
.ratio-proring--changepic {
  aspect-ratio: 1.18823529;
}
@media (max-width: 980px) {
  .ratio-proring--changepic {
    aspect-ratio: 1.31818182;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-proring--toolpic {
  aspect-ratio: 1.5;
}
@media (max-width: 980px) {
  .ratio-proring--toolpic {
    aspect-ratio: 2.0304878;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-proring--steppic1-1,
.ratio-proring--steppic2-1,
.ratio-proring--steppic3-1 {
  aspect-ratio: 2.76666667;
}
@media (max-width: 980px) {
  .ratio-proring--steppic1-1,
  .ratio-proring--steppic2-1,
  .ratio-proring--steppic3-1 {
    aspect-ratio: 2.0304878;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-proring--steppic1-2 {
  aspect-ratio: 0.51162791;
}
@media (max-width: 980px) {
  .ratio-proring--steppic1-2 {
    aspect-ratio: 0.50868486;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-proring--steppic2-2 {
  aspect-ratio: 1.48148148;
}
@media (max-width: 980px) {
  .ratio-proring--steppic2-2 {
    aspect-ratio: 1.49815498;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-proring--steppic3-2 {
  aspect-ratio: 1.61616162;
}
@media (max-width: 980px) {
  .ratio-proring--steppic3-2 {
    aspect-ratio: 1.61538462;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-reform--steppic {
  aspect-ratio: 6.725;
}
@media (max-width: 980px) {
  .ratio-reform--steppic {
    aspect-ratio: 8.28;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-reform--banner-1 {
  aspect-ratio: 3.28;
}
@media (max-width: 980px) {
  .ratio-reform--banner-1 {
    aspect-ratio: 1.65714286;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-reform--banner-2 {
  aspect-ratio: 1.60784314;
}
@media (max-width: 980px) {
  .ratio-reform--banner-2 {
    aspect-ratio: 1.01398601;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-pearl--typekv {
  aspect-ratio: 2.08145581;
}
@media (max-width: 980px) {
  .ratio-pearl--typekv {
    aspect-ratio: 0.90361446;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-pearl--typepic {
  aspect-ratio: 1.31578947;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-pearl--typepic {
    aspect-ratio: 1.28623188;
  }
}
.ratio-pearl--aboutpic {
  aspect-ratio: 1.5;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-pearl--aboutpic {
    aspect-ratio: 1.51219512;
  }
}
.ratio-pearl--blockpic {
  aspect-ratio: 2.06896552;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-pearl--blockpic {
    aspect-ratio: 1.54347826;
  }
}
.ratio-pearl--typelist {
  width: auto;
  height: auto;
  object-fit: contain;
}
.ratio-pearl--typelist-1 {
  aspect-ratio: 0.86111111;
}
.ratio-set--typepic,
.ratio-eternity--typepic {
  aspect-ratio: 0.84033613;
  height: auto;
  object-fit: contain;
}
.ratio-set--pickuppic,
.ratio-eternity--pickuppic {
  aspect-ratio: 2.16;
  height: auto;
  object-fit: contain;
}
.ratio-set--4cpic,
.ratio-eternity--4cpic {
  aspect-ratio: 1.51190476;
  height: auto;
  object-fit: contain;
}
.ratio-set--4cbtn,
.ratio-eternity--4cbtn {
  aspect-ratio: 5;
}
.ratio-maternity--typepic {
  height: auto;
  object-fit: contain;
}
.ratio-maternity--typepic-1 {
  aspect-ratio: 1.54545455;
}
@media (max-width: 980px) {
  .ratio-maternity--typepic-1 {
    aspect-ratio: 1.59574468;
    width: auto;
  }
}
.ratio-maternity--typepic-2 {
  aspect-ratio: 0.84507042;
}
.ratio-maternity--typepic-3 {
  aspect-ratio: 1.54285714;
}
@media (max-width: 980px) {
  .ratio-maternity--typepic-3 {
    aspect-ratio: 0.74626866;
  }
}
.ratio-diamond--typekv {
  aspect-ratio: 1.4144385;
}
@media (max-width: 980px) {
  .ratio-diamond--typekv {
    object-fit: contain;
    aspect-ratio: 1.50300601;
    height: auto;
  }
}
.ratio-diamond--carat {
  object-fit: contain;
}
.ratio-diamond--carat-1 {
  aspect-ratio: 16.6;
}
.ratio-diamond--carat-2 {
  aspect-ratio: 2.6;
}
.ratio-diamond--color {
  object-fit: contain;
}
.ratio-diamond--color-1 {
  aspect-ratio: 8.57142857;
}
.ratio-diamond--color-2 {
  aspect-ratio: 1.73333333;
}
.ratio-diamond--clarity {
  object-fit: contain;
}
.ratio-diamond--clarity-1 {
  aspect-ratio: 6.92307692;
}
.ratio-diamond--clarity-2 {
  aspect-ratio: 1.44044321;
}
.ratio-diamond--cut {
  object-fit: contain;
}
.ratio-diamond--cut-1 {
  aspect-ratio: 6.92307692;
}
.ratio-diamond--cut-2 {
  aspect-ratio: 1.44444444;
}
.ratio-column--typepic {
  aspect-ratio: 0.85294118;
  height: auto;
}
.ratio-onlineconsulting--typekv {
  aspect-ratio: 3.87096774;
  height: auto;
}
@media (max-width: 980px) {
  .ratio-onlineconsulting--typekv {
    object-fit: contain;
    aspect-ratio: 0.85814361;
  }
}
.ratio-onlineconsulting--typepic-1 {
  aspect-ratio: 2.17391304;
  height: auto;
}
.ratio-onlineconsulting--typepic-2 {
  aspect-ratio: 1.21713615;
  height: auto;
}
.ratio-onlineconsulting--typepic-2-1 {
  aspect-ratio: 1.21359223;
  height: auto;
}
.ratio-onlineconsulting--typepic-2-2 {
  aspect-ratio: 1.14252336;
  height: auto;
}
.ratio-onlineconsulting--typepic-2-3 {
  aspect-ratio: 1.28741093;
  height: auto;
}
.ratio-onlineconsulting--typepic-2-4 {
  aspect-ratio: 1.0988764;
  height: auto;
}
.ratio-onlineconsulting--typepic-3 {
  aspect-ratio: 1.66944908;
  height: auto;
}
.ratio-onlineconsulting--typepic-4 {
  aspect-ratio: 1.81818182;
  height: auto;
}
.ratio-onlineconsulting--typepic-5 {
  aspect-ratio: 1.46567164;
  height: auto;
}
.ratio-onlineconsulting--typepic-6 {
  aspect-ratio: 1.91555556;
  height: auto;
}
.ratio-onlineconsulting--steppic {
  aspect-ratio: 2.14;
  height: auto;
}
.ratio-onlineconsulting--steppic-2 {
  aspect-ratio: 2.33333333;
}
@media (max-width: 980px) {
  .ratio-onlineconsulting--steppic {
    width: auto;
  }
}
.ratio-onlineconsulting--completepic {
  aspect-ratio: 5.67567568;
  height: auto;
}
.ratio-cygna-helene--typekv {
  aspect-ratio: 2.22222222;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-cygna-helene--typekv {
    aspect-ratio: 0.90425532;
    object-fit: contain;
    width: auto;
    height: auto;
  }
}
.ratio-cygna-helene--typepic {
  aspect-ratio: 1.46666667;
  width: auto;
  height: auto;
  object-fit: contain;
}
.ratio-cygna-helene--ring {
  aspect-ratio: 2.44230769;
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}
.ratio-cygna-helene--ring2 {
  aspect-ratio: 2.44230769;
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: cover;
}
.ratio-cygna-helene--pic {
  aspect-ratio: 1.55870445;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-cygna-helene--pic {
    object-fit: cover;
  }
}
.ratio-cygna-helene--banner {
  aspect-ratio: 2.66666667;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-cygna-helene--banner {
    aspect-ratio: 1.5625;
  }
}
.ratio-cygna-helene--recommend {
  aspect-ratio: 2.5;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 980px) {
  .ratio-cygna-helene--recommend-1 {
    aspect-ratio: 2.1981982;
  }
}
@media (max-width: 980px) {
  .ratio-cygna-helene--recommend-2 {
    aspect-ratio: 1.4375;
  }
}
.bookmark {
  display: block;
  padding: 12px;
  background-color: #fff0ee;
}
@media (max-width: 980px) {
  .bookmark {
    margin: 3% 3% 0 3%;
  }
}
.bookmark__title {
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1.8em;
  line-height: 1.3;
}
.bookmark__list {
  margin: 0;
  padding: 0;
  font-size: 1.40833333em;
  line-height: 2em;
  list-style: none;
}
@media (max-width: 980px) {
  .bookmark__list {
    font-size: 1.3em;
  }
}
.bookmark__sublist {
  margin: 0;
  padding: 0;
  list-style: none;
}
.bookmark__item,
.bookmark__subitem {
  position: relative;
  padding-left: 1.92307692em;
}
.bookmark__item:before,
.bookmark__subitem:before {
  position: absolute;
  top: 1em;
  left: 0.2em;
  width: 0.76923077em;
  height: 0.76923077em;
  margin-top: -0.38461538em;
  background-color: #fad7ce;
  content: "";
}
.bookmark__link {
  color: inherit;
  transition: opacity 0.3s;
}
.bookmark__link:hover {
  text-decoration: underline;
  opacity: 0.7;
}
.form-inner.inner {
  position: relative;
  max-width: 900px;
  margin: 0 auto 0 auto;
  padding: 0;
}
.form-wrap.contact-form {
  position: relative;
  letter-spacing: 1px;
  padding-bottom: 40px;
}
.form-wrap.contact-form .title {
  margin: 0 0 6px;
  color: #463D3E;
  font-weight: normal;
  font-size: 2em;
  line-height: 160%;
  letter-spacing: 1px;
  text-align: center;
}
.form-wrap.contact-form .title span {
  display: inline-block;
  position: relative;
}
.form-wrap.contact-form .title span:after {
  position: absolute;
  bottom: 0;
  left: 15%;
  width: 70%;
  height: 1px;
  background-color: #a5a5a5;
  content: "";
}
.form-wrap.contact-form .subtitle {
  margin: 0;
  color: #463D3E;
  font-size: 1.3em;
  letter-spacing: 0.15em;
  text-align: center;
}
.form-wrap.contact-form #step_img {
  top: 20px;
  margin: 0;
}
.form-wrap.contact-form form {
  font-size: 1.4rem;
}
.form-wrap.contact-form .cv-area {
  margin-top: 25px;
  text-align: center;
}
.form-wrap.contact-form textarea {
  border: 1px solid #a9a9a9;
}
.form-wrap.contact-form select {
  appearance: none;
  background-image: url(../images/select-arrow.jpg);
  background-position: right center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  color: #777;
  cursor: pointer;
}
.form-wrap.contact-form input {
  color: #777;
}
.form-wrap.contact-form div.ok-count {
  line-height: 1.6;
}
.form-wrap.contact-form .cv-banner {
  margin-bottom: 10px;
  text-align: center;
}
.form-wrap.contact-form .cv-banner img {
  max-width: 100%;
  margin: 0 auto;
}
.form-inner .cv-des__wrap {
  margin: 2rem auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 95%;
  max-width: 820px;
  border: 1px solid #796e65;
}
@media (max-width: 575px) {
  .form-inner .cv-des__wrap {
    flex-direction: column;
  }
}
@media (max-width: 980px) {
  .form-inner .cv-des article ol {
    padding-left: 1.5em;
  }
}
.form-inner .cv-des article h1,
.form-inner .cv-des article h2,
.form-inner .cv-des article h3,
.form-inner .cv-des article h4,
.form-inner .cv-des article h5,
.form-inner .cv-des article p {
  margin: 0;
}
.form-inner .cv-des__cell {
  flex: 1;
  padding: 1rem 3rem;
  margin: 1rem 0;
}
.form-inner .cv-des__cell:nth-child(2) {
  border-left: 1px solid #796e65;
}
@media (max-width: 575px) {
  .form-inner .cv-des__cell:nth-child(2) {
    border-left: none;
    border-top: 1px solid #796e65;
  }
}
@media (max-width: 980px) {
  .form-inner .cv-des__cell {
    padding: 1rem 1.5rem;
  }
}
@media (max-width: 575px) {
  .form-inner .cv-des__cell {
    margin: 0;
  }
}
.form-inner .form-hint {
  margin: 0 auto;
  padding: 1rem 1rem;
}
.wpcf7-form {
  border-bottom: none;
}
.wpcf7-form .form-hint {
  border-top: 1px dotted #796e65;
}
.thanks-content {
  font-size: 1.2rem;
}
.thanks-content .floatbox a,
.thanks-content .privacy-note a {
  color: #4d403e;
  text-decoration: underline;
}
#contactus {
  padding-bottom: 5%;
  font-size: 1.4rem;
}
#contactus .content-head {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 0 10px;
  border-bottom: 1px solid #000;
}
#contactus .step_img {
  position: absolute;
  top: 20px;
  right: 0;
  margin: 0;
}
#contactus table p {
  margin: 0;
}
#contactus input {
  border: 1px solid #a9a9a9;
}
#contactus table {
  line-height: 1.6;
}
#contactus table td {
  padding: 5px 0;
}
#contactus .form-container {
  width: 100%;
  margin: 0 auto 10px auto;
  padding: 0 0 20px 0;
}
@media (max-width: 980px) {
  #contactus .form-container {
    border-bottom: 1px dotted #473d3e;
  }
}
#contactus .privacy-note a {
  color: #4d403e;
  text-decoration: underline;
}
#contactus .form-inner .form-hint {
  border-top: 1px dotted #796e65;
}
@media (max-width: 980px) {
  #contactus .form-inner .form-hint {
    border-top: none;
    padding: 1rem 3rem;
  }
}
@media (max-width: 575px) {
  #contactus .form-inner .form-hint {
    padding: 1rem 1rem;
  }
}
.contactus-thanks {
  color: #463D3E;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 160%;
}
.contactus-thanks .annotation {
  padding-left: 0;
  text-align: center;
}
.contactus-thanks .content-head {
  font-size: 1rem;
}
.contactus-thanks .backToHome a:hover {
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  opacity: 0.8;
}
/* reservation page */
.reservation.inner {
  margin-top: -20px;
}
.reservation__title {
  margin: 0;
  margin-bottom: 80px;
  font-weight: normal;
  font-size: 2em;
  line-height: 120%;
  letter-spacing: 0.3em;
  text-align: center;
  text-transform: uppercase;
}
.reservation__subtitle {
  display: block;
  font-weight: 300;
  font-size: 1.3rem;
}
@media (max-width: 980px) {
  .form-inner.inner {
    position: relative;
    margin: 10px auto 0 auto;
    padding: 0;
    font-weight: normal;
  }
  .form-inner.inner picture,
  .form-inner.inner img {
    display: inline-block;
  }
  .form-wrap.contact-form {
    padding-bottom: 6%;
  }
  .form-wrap.contact-form .title,
  .form-wrap.contact-form .subtitle {
    display: none;
  }
  .form-wrap.contact-form #step_img {
    position: relative;
    top: 0;
    padding: 15px 0;
    text-align: center;
  }
  .form-wrap.contact-form #step_img img {
    max-width: 72%;
  }
  .form-wrap.contact-form .cv-area {
    margin-top: 0;
  }
  .form-wrap.contact-form .cv-area article {
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
  .form-wrap.contact-form .cv-banner img {
    max-width: 96%;
  }
  .form-wrap.contact-form .privacy-note.hide_on_news_page {
    padding: 3%;
  }
  .form-wrap.contact-form .privacy-note.hide_on_news_page a {
    color: #4d403e;
    text-decoration: underline;
  }
  .thanks-content {
    font-weight: normal;
    font-size: 1.4rem;
  }
  .thanks-content .privacy-note {
    padding: 0 3%;
  }
  .thanks-content .floatbox a,
  .thanks-content .privacy-note a {
    color: #4d403e;
    text-decoration: underline;
  }
  #contactus {
    font-weight: normal;
  }
  #contactus .content-head {
    margin: 0;
    padding: 0;
    border-bottom: none;
    text-align: center;
  }
  #contactus .content-head .smt_txt {
    display: block;
    text-align: center;
  }
  #contactus .content-head .smt_txt img {
    max-width: 40%;
  }
  #contactus table {
    display: block;
  }
  #contactus table tr,
  #contactus table th,
  #contactus table td,
  #contactus table tbody {
    display: block;
  }
  #contactus table td {
    padding-bottom: 15px;
  }
  #contactus select {
    box-sizing: content-box;
    border-radius: 5px;
    -moz-background-clip: padding;
    background-clip: padding-box;
    border: 1px solid #a9a9a9;
  }
  #contactus select:focus {
    padding: 8px 0;
  }
  #contactus :focus {
    box-sizing: content-box;
    padding: 1px;
  }
  #contactus .step_img {
    position: relative;
    top: 0;
  }
  #contactus #form {
    padding-bottom: 0;
    border-bottom: none;
  }
  #contactus .privacy-note {
    padding: 0 3%;
  }
  #contactus .privacy-note a {
    color: #4d403e;
    text-decoration: underline;
  }
  .contactus-thanks {
    font-weight: normal;
    font-size: 1.4rem;
    text-align: left;
  }
  .contactus-thanks .annotation {
    padding-left: 0;
    text-align: left;
  }
  .contactus-thanks .privacy-note {
    font-size: 1.2rem;
  }
  /* reservation page */
  .reservation.inner {
    margin-top: 8%;
    padding: 0;
  }
  .reservation__title {
    margin-bottom: 12%;
    font-size: 1.5em;
    letter-spacing: 0.3em;
  }
  .reservation__title span {
    font-size: 1em;
  }
  .reservation__title span:before {
    display: block;
    width: 20%;
    height: 1px;
    margin: 4% auto;
    background: #333;
    content: "";
  }
}
.shop__form .content-wrap {
  padding-top: 5%;
}
.shop__form .inner {
  position: relative;
}
.shop__form .ok-count {
  position: absolute;
  top: auto;
  right: auto;
  bottom: 120px;
  left: -30px;
}
html:not(.no-js) [data-aos='fade-up'] {
  transform: translate3d(0, 30px, 0);
}
.intro__main {
  margin-bottom: 120px;
}
@media (max-width: 980px) {
  .intro__main {
    margin-bottom: 50px;
  }
}
.intro__container {
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
}
@media (max-width: 980px) {
  .intro__container--mb-sm-pd {
    padding: 0 10px;
  }
}
.intro__wrapper {
  max-width: 1000px;
  margin: auto;
}
.intro__wrapper + .intro__wrapper {
  margin-top: 120px;
}
@media (max-width: 980px) {
  .intro__wrapper + .intro__wrapper {
    margin-top: 60px;
  }
}
.intro__service {
  background-color: whitesmoke;
  padding: 35px 50px;
}
.intro__service + .intro__service {
  margin-top: 10px;
}
@media (max-width: 980px) {
  .intro__service + .intro__service {
    margin-top: 20px;
  }
}
@media (max-width: 980px) {
  .intro__service {
    padding: 20px;
  }
}
.intro__service .service__title {
  margin: 0 0 15px;
}
.intro__service .service__list {
  padding-left: 12px;
}
.intro__service .service__item {
  padding-left: 5px;
}
.intro__service .service__text {
  margin: 8px 0;
}
.intro__head {
  max-width: 1200px;
  margin: auto;
  padding: 0 30px;
}
@media (max-width: 980px) {
  .intro__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 10px;
  }
}
.intro__main-title {
  display: block;
  margin: 25px auto 0 auto;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 50px;
  font-weight: normal;
  line-height: 1.5em;
  letter-spacing: 0.01em;
  color: black;
  text-align: center;
}
@media (max-width: 980px) {
  .intro__main-title {
    margin-top: 20px;
    font-size: 28px;
    line-height: 1.5em;
    order: 1;
  }
}
@media (max-width: 980px) {
  .intro__main-title--mb-no-order {
    order: 0;
  }
}
.intro__sub-title {
  display: block;
  margin: 5px 0 0 0;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: normal;
  color: black;
  text-align: center;
}
@media (max-width: 980px) {
  .intro__sub-title {
    font-size: 12px;
    order: 1;
  }
}
@media (max-width: 980px) {
  .intro__sub-title--mb-no-order {
    order: 0;
  }
}
@media (max-width: 980px) {
  .intro__head-desc {
    order: 3;
    padding: 0 20px;
  }
}
.intro__para {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
}
@media (max-width: 980px) {
  .intro__para {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.intro__para--bold {
  font-weight: 500;
}
.intro__para--belt {
  max-width: 800px;
  margin: 15px auto;
}
.intro__para--center {
  text-align: center;
}
@media (max-width: 980px) {
  .intro__para--center {
    text-align: left;
  }
}
.intro__para--w-limit {
  width: 68%;
  margin: 0 auto;
}
@media (max-width: 980px) {
  .intro__para--w-limit {
    width: 90%;
  }
}
.intro__para--mt {
  margin-top: 30px;
  margin-bottom: 0;
}
.intro__para--mb {
  margin-top: 0px;
  margin-bottom: 40px;
}
@media (max-width: 980px) {
  .intro__para--mb {
    margin-bottom: 20px;
  }
}
@media (max-width: 980px) {
  .intro__para--mob-center {
    text-align: center;
  }
}
@media (max-width: 980px) {
  .intro__para--mob-no-mt {
    margin-top: 0px;
  }
}
.intro__head-text {
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 2rem;
  line-height: 1.8em;
  letter-spacing: 0.1em;
}
@media (max-width: 980px) {
  .intro__head-text {
    width: 90%;
  }
}
.intro__head-text--center {
  text-align: center;
}
.intro__head-text--mt {
  margin-top: 50px;
}
.intro__head-text--sans {
  font-family: "Noto Sans TC", sans-serif;
}
@media (max-width: 980px) {
  .intro__head-text--mb-left {
    text-align: left;
  }
}
@media (max-width: 980px) {
  .intro__head-text--mb-full {
    width: 100%;
  }
}
.intro__bn {
  display: block;
  width: 100%;
  margin: 50px auto 0 auto;
}
.intro__bn img {
  margin: auto;
}
@media (max-width: 980px) {
  .intro__bn {
    margin-top: 25px;
    margin-bottom: 10px;
    order: 2;
  }
}
@media (max-width: 980px) {
  .intro__bn--mb-no-order {
    order: 0;
  }
}
@media (max-width: 980px) {
  .intro__bn--mb-fit-screen {
    width: 100vw;
    margin-left: -30px;
    margin-right: -30px;
  }
}
.intro__bg-section {
  background-color: #e5d8d0;
}
.intro__section {
  margin-top: 120px;
  padding: 0 20px;
}
@media (max-width: 980px) {
  .intro__section {
    margin-top: 50px;
    padding: 0 10px;
  }
}
.intro__section--padding-ver {
  padding: 90px 20px 120px;
}
@media (max-width: 980px) {
  .intro__section--padding-ver {
    padding: 50px 10px;
  }
}
.intro__section-title {
  margin: 0;
  font-size: 28px;
  line-height: 1.5em;
  letter-spacing: 0.01em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  text-align: center;
  font-weight: 300;
}
@media (max-width: 980px) {
  .intro__section-title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
  }
}
@media (max-width: 980px) {
  .intro__section-title {
    text-align: left;
  }
}
.intro__section-title--mt {
  margin-top: 50px;
}
@media (max-width: 980px) {
  .intro__section-title--mb-center {
    text-align: center;
  }
}
.intro__section-subtitle {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 12px;
  text-align: center;
  font-weight: 500;
}
.intro__reservation {
  margin-top: 120px;
  text-align: center;
}
@media (max-width: 980px) {
  .intro__reservation {
    width: 80%;
    margin: 60px auto 0px;
  }
}
.intro__reservation ul {
  list-style: none;
}
.intro__reservation .wrapper-full {
  width: 100%;
}
.intro__reservation .wrapper-3col {
  width: 30%;
}
@media (max-width: 980px) {
  .intro__reservation .wrapper-3col {
    width: 100%;
  }
}
@media (max-width: 980px) {
  .intro__reservation .reservation-btn + .reservation-btn {
    margin-top: 15px;
  }
}
@media (max-width: 980px) {
  .intro__reservation .wrapper-limit + .wrapper-limit {
    margin-top: 15px;
  }
}
.intro__reservation .wrapper-limit .reservation-btn {
  width: 100%;
}
.intro__reservation .wrapper-limit .reservation-btn--big {
  max-width: 380px;
}
@media (max-width: 980px) {
  .intro__reservation .wrapper-limit .reservation-btn--big {
    max-width: none;
  }
}
.intro__reservation .wrapper-limit--sm {
  max-width: 300px;
}
@media (max-width: 980px) {
  .intro__reservation .wrapper-limit--sm {
    max-width: none;
  }
  .intro__reservation .wrapper-limit--sm .reservation-btn {
    font-weight: 600;
  }
}
.intro__2col {
  position: relative;
  display: flex;
  align-items: center;
}
.intro__2col + .intro__2col {
  margin-top: 120px;
}
@media (max-width: 980px) {
  .intro__2col {
    flex-direction: column;
    align-items: stretch;
  }
  .intro__2col + .intro__2col {
    margin-top: 50px;
  }
  .intro__2col .intro__cell {
    order: 1;
  }
  .intro__2col .intro__cell--lg {
    order: 0;
  }
}
.intro__2col--between {
  margin: 40px auto 0;
  justify-content: space-between;
}
@media (max-width: 980px) {
  .intro__2col--between {
    margin-top: 30px;
  }
}
.intro__2col--reserve {
  gap: 5px;
  justify-content: center;
}
.intro__2col--reserve .reservation-btn {
  width: 100%;
  max-width: 380px;
}
@media (max-width: 980px) {
  .intro__2col--reserve .reservation-btn {
    max-width: none;
  }
}
.intro__3col {
  display: flex;
  justify-content: space-between;
  margin: 60px auto;
}
@media (max-width: 980px) {
  .intro__3col {
    flex-direction: column;
    margin: 40px auto;
    padding: 0 20px;
  }
}
ul.intro__3col {
  padding: 0;
}
.intro__3col--mob-sm-mt {
  margin-top: 30px;
}
.intro__4col {
  display: flex;
  gap: 2px;
  padding: 0;
}
.intro__4col--mt {
  position: relative;
  margin-top: 120px;
}
.intro__4col--mt::after {
  content: '';
  position: absolute;
  top: -140px;
  left: 50%;
  display: block;
  width: 65px;
  height: 65px;
  border-bottom: 3px solid white;
  border-left: 3px solid white;
  transform: rotate(-45deg) translateX(-70%);
}
@media (max-width: 980px) {
  .intro__4col--mt::after {
    width: 40px;
    height: 40px;
    top: -90px;
  }
}
@media (max-width: 980px) {
  .intro__4col--mt {
    margin-top: 70px;
  }
}
.intro__4col--wrap {
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
@media (max-width: 980px) {
  .intro__4col--wrap {
    display: block;
  }
}
.intro__4col--between {
  margin-top: 40px;
  align-items: stretch;
  justify-content: space-between;
}
@media (max-width: 980px) {
  .intro__4col--mb-wrap {
    flex-wrap: wrap;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.intro__cell {
  display: block;
  width: 40%;
}
.intro__cell .img-full {
  width: 100%;
}
.intro__cell--lg {
  width: 53.4%;
}
.intro__cell--xl {
  width: 63%;
}
.intro__cell--reverse {
  margin-left: auto;
}
.intro__cell + .intro__cell {
  margin-left: 6.6%;
}
@media (max-width: 980px) {
  .intro__cell + .intro__cell {
    margin-left: 0;
  }
}
.intro__cell--1-3 {
  width: 30%;
}
.intro__cell--1-3 + .intro__cell {
  margin-left: 0;
}
@media (max-width: 980px) {
  .intro__cell--1-3 + .intro__cell {
    margin-top: 40px;
  }
}
.intro__cell--wrap {
  width: 47%;
}
.intro__cell--wrap + .intro__cell {
  margin-left: 0;
}
@media (max-width: 980px) {
  .intro__cell--wrap + .intro__cell {
    margin-top: 50px;
  }
}
@media (max-width: 980px) {
  .intro__cell {
    width: 100%;
  }
}
.intro__cell.intro__cell--bg-white {
  background-color: white;
  margin: 0;
  box-sizing: border-box;
}
@media (max-width: 980px) {
  .intro__cell--mb-2x2 {
    width: 40%;
    flex-grow: 1;
  }
}
@media (max-width: 980px) {
  .intro__cell--mb-fit-screen {
    width: 100vw;
    margin-left: -30px;
    margin-right: -30px;
  }
}
.intro__cell-memo {
  border-top: 2px solid #ef9cab;
  background-color: white;
  padding: 30px 0 60px;
  width: 47%;
}
@media (max-width: 980px) {
  .intro__cell-memo {
    width: 100%;
  }
  .intro__cell-memo + .intro__cell-memo {
    margin-top: 20px;
  }
}
.intro__cell-memo .memo__text {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  background-image: url('../images/proposering/memo-underline.png');
  background-repeat: repeat-y;
  background-position: 0 0;
  margin: 0 auto;
  padding-top: 30px;
  width: 60%;
}
@media (max-width: 980px) {
  .intro__cell-memo .memo__text {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.intro__cell-deco {
  position: absolute;
  top: 50%;
  right: 0;
  background-color: white;
  border-top: 2px solid #ef9cab;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
  margin: 0;
  padding: 50px;
  max-width: 420px;
  transform: translateY(-50%);
}
@media (max-width: 980px) {
  .intro__cell-deco {
    position: relative;
    order: 2;
    transform: translateY(0);
    margin: -40px auto 0;
    padding: 25px;
  }
}
.intro__cell-deco--reverse {
  right: auto;
  left: 0;
}
@media (max-width: 980px) {
  .intro__cell-content {
    padding: 0 ;
  }
  .intro__3col .intro__cell-content {
    padding: 0;
  }
}
.intro__cell-inner {
  display: block;
}
.intro__cell-step {
  font-size: 13px;
  color: #ef9cab;
}
.intro__cell-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5em;
  letter-spacing: 0.01em;
  margin: 15px auto;
}
@media (max-width: 980px) {
  .intro__cell-title--mob-no-mt {
    margin-top: 0;
  }
}
.intro__cell-name {
  display: block;
  margin: 0;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 32px;
  line-height: 1.5em;
  letter-spacing: 0.01em;
}
@media (max-width: 980px) {
  .intro__cell-name {
    font-size: 24px;
    margin-bottom: 20px;
    text-align: center;
  }
}
.intro__cell-name--mb-left {
  text-align: left;
}
@media (max-width: 980px) {
  .intro__cell-name--mb-no-mb {
    margin-bottom: 0;
  }
}
.intro__cell-subname {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  display: block;
  margin: 5px 0 0 0;
  font-weight: 600;
}
@media (max-width: 980px) {
  .intro__cell-subname {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.intro__cell-subname--center {
  text-align: center;
}
.intro__cell-subname--no-name {
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 20px;
  font-weight: normal;
}
@media (max-width: 980px) {
  .intro__cell-subname--no-name {
    font-weight: 600;
  }
}
@media (max-width: 980px) {
  .intro__cell-subname {
    font-size: 1.5em;
    margin-top: 25px;
  }
}
.intro__cell-subname--pd-hor {
  padding: 0 10%;
}
@media (max-width: 980px) {
  .intro__cell-subname--pd-hor {
    font-size: 1.3em;
    margin-top: 0;
  }
}
@media (max-width: 980px) {
  .intro__cell-subname--mb-sm-mt {
    margin-top: 5px;
  }
}
.intro__cell-desc {
  display: block;
  margin: 15px auto;
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
}
@media (max-width: 980px) {
  .intro__cell-desc {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.intro__cell-desc--center {
  text-align: center;
}
@media (max-width: 980px) {
  .intro__cell-desc--mob-no-mb {
    margin-bottom: 0;
  }
}
.intro__cell-note {
  color: #999;
  font-size: 12px;
  line-height: 1.33333333em;
  letter-spacing: 0.06em;
  margin: 10px auto;
}
.intro__cell-note--base {
  color: #333;
  text-align: center;
  margin-bottom: 30px;
}
.intro__cell-note--pd-hor {
  padding: 0 20px;
}
@media (max-width: 980px) {
  .intro__cell-note--mob-no-mb {
    margin-bottom: 0;
  }
}
@media (max-width: 980px) {
  .intro__cell-pic {
    margin: 0 -20px;
  }
}
@media (max-width: 980px) {
  .intro__cell-pic--fit-screen {
    margin: 0 -30px;
  }
}
.intro__cell-img img {
  width: 100%;
}
.intro__cell-foot {
  margin-top: 20px;
}
@media (max-width: 980px) {
  .intro__cell-foot {
    justify-content: center;
    text-align: center;
  }
}
.intro__cell-foot--center {
  margin-top: 50px;
  text-align: center;
}
.intro__cell-between {
  margin: 30px 0 90px;
  text-align: center;
}
@media (max-width: 980px) {
  .intro__cell-between {
    margin: 20px 0 50px;
  }
}
.intro__cell-button {
  text-align: center;
}
@media (max-width: 980px) {
  .intro__cell-links {
    justify-content: center;
  }
}
.intro__swiper {
  position: relative;
  overflow: hidden;
  margin-top: 50px;
}
.intro__swiper .swiper-slide {
  display: flex;
}
@media (max-width: 980px) {
  .intro__swiper .swiper-slide {
    display: block;
  }
}
.intro__swiper .swiper-button-prev {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../images/icon-swiper-prev.svg);
  position: absolute;
  left: 0;
  top: 50%;
  margin-left: 2px;
}
.intro__swiper .swiper-button-prev::after {
  content: '';
}
.intro__swiper .swiper-button-next {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../images/icon-swiper-next.svg);
  position: absolute;
  right: 0;
  top: 50%;
  margin-right: 2px;
}
.intro__swiper .swiper-button-next::after {
  content: '';
}
.intro__swiper .swiper-pic {
  width: 600px;
}
.intro__swiper .swiper-pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 980px) {
  .intro__swiper .swiper-pic {
    width: 100%;
  }
}
.intro__swiper .swiper-ring__wrapper {
  background-color: white;
  padding: 90px 60px 40px;
  width: 600px;
  box-sizing: border-box;
}
@media (max-width: 980px) {
  .intro__swiper .swiper-ring__wrapper {
    position: relative;
    z-index: 2;
    width: 80%;
    margin: 0 auto;
    margin-top: -50px;
    padding: 40px 5% 30px;
  }
}
.intro__swiper .swiper-ring__img {
  width: 80%;
  margin: 0 auto;
}
.intro__swiper .swiper-ring__title {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin: 0 0 15px;
}
.intro__swiper .swiper-ring__text {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  margin: 0;
}
@media (max-width: 980px) {
  .intro__swiper .swiper-ring__text {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.intro-nav {
  display: inline-block;
  list-style: none;
  padding: 10px 20px;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .intro-nav {
    margin: 0;
  }
}
.intro-nav__wrapper {
  text-align: center;
  margin-top: 30px;
  overflow-x: auto;
  width: 100%;
}
@media (max-width: 980px) {
  .intro-nav__wrapper {
    margin: 30px -30px 0;
    width: 100vw;
    background-color: whitesmoke;
  }
}
.intro-nav__wrapper::-webkit-scrollbar {
  height: 10px;
}
.intro-nav__wrapper::-webkit-scrollbar-track {
  border-radius: 10px;
  background: whitesmoke;
}
.intro-nav__wrapper::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: silver;
  border: 3px solid whitesmoke;
}
.intro-nav__item {
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  display: inline-block;
  margin: 0 15px;
}
@media (max-width: 980px) {
  .intro-nav__item {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
@media (max-width: 980px) {
  .intro-nav__item {
    margin: 0 5px;
  }
}
.intro-nav__item::after {
  content: '';
  display: block;
  border-bottom: 1px solid #333;
  transform: scaleX(0);
  transition: all 0.3s;
  transform-origin: 100% 50%;
  transition: transform 0.3s;
}
.intro-nav__item:hover::after {
  transform: scaleX(1);
  transform-origin: 0% 50%;
}
.intro-nav__link {
  white-space: nowrap;
}
.intro-feature {
  position: relative;
  max-width: 1380px;
  margin: auto;
  padding: 135px 0 110px 0;
  background-color: #e3d6ca;
}
@media (max-width: 980px) {
  .intro-feature {
    padding: 50px 20px;
  }
}
.intro-feature:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 56px;
  height: 62px;
  background-image: url(../images/fold-corner.png);
  background-size: 100% 100%;
}
@media (max-width: 980px) {
  .intro-feature:after {
    width: 28px;
    height: 31px;
  }
}
.intro-feature__top-title {
  display: block;
  width: 449px;
  margin: auto;
}
@media (max-width: 980px) {
  .intro-feature__top-title {
    width: 90%;
  }
}
.intro-feature__list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
@media (max-width: 980px) {
  .intro-feature__list {
    display: block;
  }
}
.intro-feature__item {
  display: block;
  width: 30%;
  margin-top: 5%;
  margin-right: 5%;
}
.intro-feature__item:nth-child(3n) {
  margin-right: 0;
}
@media (max-width: 980px) {
  .intro-feature__item {
    width: 100%;
    margin-top: 35px;
    margin-right: 0;
  }
}
.intro-feature__item-name {
  display: flex;
  margin: 0 0 20px 0;
  align-items: center;
  font-size: 18px;
}
@media (max-width: 980px) {
  .intro-feature__item-name {
    margin-bottom: 10px;
    align-items: start;
    font-size: 16px;
  }
}
.intro-feature__item-name .no {
  display: block;
  margin-right: 0.42857143em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-style: italic;
  font-size: 35px;
  color: #e16383;
  line-height: 1em;
}
@media (max-width: 980px) {
  .intro-feature__item-name .no {
    font-size: 25px;
    line-height: 1.5em;
    margin-right: 5px;
  }
}
.intro-feature__item-name .text {
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
}
.intro-feature__item-subname {
  margin: 0;
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.intro-feature__pic-wrap {
  position: relative;
  display: block;
}
.intro-feature__pic {
  width: 100%;
}
.intro-feature__pic img {
  width: 100%;
}
.intro-feature__pd-photo {
  position: absolute;
  right: -1px;
  bottom: -40px;
  display: block;
  width: 180px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (max-width: 980px) {
  .intro-feature__pd-photo {
    width: 195px;
  }
}
.intro-feature__item-caption {
  margin-top: 50px;
}
.intro-feature__item-desc {
  margin: 20px 0 0 0;
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
}
@media (max-width: 980px) {
  .intro-feature__item-desc {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
@media (max-width: 980px) {
  .intro-feature__item-desc {
    margin-bottom: 20px;
  }
}
.intro-feature__link {
  display: block;
}
.intro-feature__more.button {
  background-color: transparent;
}
.intro-display {
  background-color: #e4d8cf;
  margin: 0 -20px;
  padding: 90px 20px 140px 20px;
}
@media (max-width: 980px) {
  .intro-display {
    margin: 0 -10px;
    padding: 50px 0;
  }
}
.intro-display__block {
  display: flex;
  margin-top: 180px;
}
.intro-display__block:first-of-type {
  margin-top: 65px;
}
@media (max-width: 980px) {
  .intro-display__block {
    flex-direction: column;
    margin-top: 50px;
  }
  .intro-display__block:first-of-type {
    margin-top: 35px;
  }
}
.intro-display__cell {
  position: relative;
  width: 44.2%;
  box-sizing: border-box;
  padding: 2% 6.67% 0 5%;
  z-index: 2;
}
.intro-display__cell--lg {
  width: 55.8%;
  padding: 0;
  z-index: 1;
}
@media (max-width: 980px) {
  .intro-display__cell {
    width: auto;
    padding: 0 30px;
    margin-top: -80px;
    min-width: 100%;
    order: 2;
  }
  .intro-display__cell--lg {
    margin: 0 -20px;
    padding: 0;
    order: 1;
  }
}
@media (max-width: 980px) {
  .intro-display__content {
    display: flex;
    flex-direction: column;
  }
}
.intro-display__name {
  display: block;
  margin: 0;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 32px;
  line-height: 1.5em;
  letter-spacing: 0.01em;
}
@media (max-width: 980px) {
  .intro-display__name {
    font-size: 24px;
    margin-bottom: 10px;
    text-align: center;
  }
}
.intro-display__subname {
  display: block;
  margin: 5px 0 0 0;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 17px;
  line-height: 1.47058824em;
  letter-spacing: 0.01em;
}
@media (max-width: 980px) {
  .intro-display__subname {
    margin-top: 20px;
    font-size: 14px;
    font-weight: 700;
    order: 2;
  }
}
.intro-display__desc {
  display: block;
  margin: 15px auto;
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
}
@media (max-width: 980px) {
  .intro-display__desc {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
@media (max-width: 980px) {
  .intro-display__desc {
    order: 3;
    margin: 10px auto 15px auto;
  }
}
.intro-display__rings {
  position: absolute;
  bottom: 30px;
  right: 0;
  display: flex;
  justify-content: space-between;
  width: 110%;
}
.intro-display__rings--left {
  right: auto;
  left: 0;
}
@media (max-width: 980px) {
  .intro-display__rings {
    position: relative;
    bottom: auto;
    width: auto;
    margin: 0 -40px;
    margin-top: 60px;
    order: 1;
  }
}
.intro-display__ring {
  display: block;
  width: 47.5%;
  box-sizing: border-box;
  padding: 25px 25px 15px 25px;
  background-color: white;
  transition: background-color 0.3s;
}
.intro-display__ring:hover {
  background-color: #f5f5f5;
}
.intro-display__ring .name {
  display: block;
  font-size: 14px;
  line-height: 2em;
  letter-spacing: 0.06em;
  font-weight: 300;
  line-height: 1em;
  text-align: center;
}
@media (max-width: 980px) {
  .intro-display__ring .name {
    font-size: 13px;
    line-height: 2em;
    letter-spacing: normal;
  }
}
.intro-display__ring .pic {
  display: block;
  height: 114px;
  margin: 0 auto;
}
@media (max-width: 980px) {
  .intro-display__ring .pic {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 980px) {
  .intro-display__ring {
    padding: 15px 25px;
  }
}
.br__pc-show {
  display: block;
}
@media (max-width: 980px) {
  .br__pc-show {
    display: none;
  }
}
.br__mb-show {
  display: none;
}
@media (max-width: 980px) {
  .br__mb-show {
    display: block;
  }
}
.span__nowrap {
  white-space: nowrap;
}
.gotop-btn {
  background-image: url(../../../assets-2023/images/2025/pagetop.png);
}
.header-news--open .content-wrap.nopad {
  padding: 0;
}
.lightbox,
.lightbox--notfull {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100vh;
}
.lightbox .close-btn,
.lightbox--notfull .close-btn {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 8040;
  width: 140px;
  height: 31px;
  margin-left: -70px;
  background-image: url(../../../images/ic-close.jpg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}
@media (max-width: 980px) {
  .lightbox .close-btn,
  .lightbox--notfull .close-btn {
    display: block;
    top: 0;
    right: 0;
    left: auto;
    width: 44px;
    height: 44px;
    margin: 0;
    background: url(../../../images/default-skin.png) 0 -44px no-repeat;
    background-size: 264px 88px;
    opacity: 0.75;
  }
}
@media (max-width: 980px) {
  .lightbox {
    display: block;
  }
}
@media (max-width: 980px) {
  .lightbox--notfull {
    display: table;
  }
  .lightbox--notfull .lightbox__wrap {
    display: table-cell;
  }
  .lightbox--notfull .close-btn {
    z-index: 8040;
    position: absolute;
    top: auto;
    right: auto;
    bottom: 3%;
    left: 50%;
    width: 140px;
    height: 31px;
    margin-left: -70px;
    background-image: url(../../../images/ic-close.jpg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
  }
}
.lightbox__cover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: url(../../../images/fancybox_overlay.png);
}
.lightbox__close-corner {
  display: flex;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #333;
  cursor: pointer;
  transition: background-color 0.3s ease-out;
}
.lightbox__close-corner:before,
.lightbox__close-corner:after {
  display: block;
  width: 59%;
  height: 1px;
  background-color: white;
  content: "";
}
.lightbox__close-corner:before {
  transform: rotate(45deg);
}
.lightbox__close-corner:after {
  transform: rotate(-45deg);
}
@media (max-width: 980px) {
  .lightbox__close-corner {
    width: 4.375rem;
    height: 4.375rem;
    top: 1.875rem;
    right: 1.875rem;
  }
}
.lightbox__wrap {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.lightbox__wrap:after {
  display: inline-block;
  width: 0;
  height: 100%;
  content: "";
  vertical-align: middle;
}
@media (max-width: 980px) {
  .lightbox__wrap {
    display: block;
    width: 100%;
    height: 100%;
  }
}
.lightbox__box {
  display: inline-block;
  position: relative;
  z-index: 99;
  width: 95%;
  height: auto;
  box-sizing: border-box;
  background-color: white;
  vertical-align: middle;
  white-space: normal;
  border-radius: 4px;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
@media (max-width: 980px) {
  .lightbox__box {
    width: 100%;
    height: 100%;
    table-layout: fixed;
  }
  .lightbox__box#ZoomBox {
    display: table;
  }
}
.lightbox__box--video {
  width: 70%;
  padding: 20px;
}
@media (max-width: 980px) {
  .lightbox__box--video {
    display: inline-block;
    z-index: 99;
    position: relative;
    width: 88%;
    height: auto;
    padding: 2%;
    background-color: white;
  }
}
.lightbox__box--video-simple {
  padding: 0;
  background: transparent;
}
.videobox {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 50px;
}
.videobox__wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.videobox iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 980px) {
  .lightbox__head {
    z-index: 9999;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 44px;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.5);
  }
}
.lightbox {
  display: block;
}
.lightbox .close-btn {
  display: block;
  top: 0;
  right: 0;
  left: auto;
  width: 44px;
  height: 44px;
  margin: 0;
  background: url(../../../images/default-skin.png) 0 -44px no-repeat;
  background-size: 264px 88px;
  opacity: 0.75;
}
.lightbox--notfull {
  display: table;
}
.lightbox--notfull .lightbox__wrap {
  display: table-cell;
}
.lightbox--notfull .close-btn {
  z-index: 8040;
  position: absolute;
  top: auto;
  right: auto;
  bottom: 3%;
  left: 50%;
  width: 140px;
  height: 31px;
  margin-left: -70px;
  background-image: url(../../../images/ic-close.jpg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}
.lightbox__wrap {
  display: block;
  width: 100%;
  height: 100%;
}
.lightbox__box {
  width: 100%;
  height: 100%;
  table-layout: fixed;
}
.lightbox__box#ZoomBox {
  display: table;
}
.lightbox__box--video {
  display: inline-block;
  z-index: 99;
  position: relative;
  width: 70%;
  height: auto;
  padding: 2%;
  background-color: white;
}
@media (max-width: 980px) {
  .lightbox__box--video {
    width: 88%;
  }
}
.lightbox__box--video-simple {
  padding: 0;
  background: transparent;
}
.lightbox__head {
  z-index: 9999;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 44px;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.5);
}
.content-wrap.nopad {
  padding-top: 0;
}
.pic-hover {
  transform: scale(1);
  transition: all 0.5s ease-in-out;
}
@media (max-width: 980px) {
  .header .nav__wrap,
  .navm__wrap {
    background: transparent;
  }
}
body.header-news--open .hero {
  margin-top: 38px;
}
@media (max-width: 575px) {
  body.header-news--open .hero {
    margin-top: 28px;
  }
}
.hero {
  margin-top: 0;
  width: 100%;
  position: relative;
}
.hero img {
  width: 100%;
  object-fit: cover;
}
.hero__link {
  display: block;
}
.hero__link:hover .more-circle-arrow .icon {
  transform: translate(5px, 0);
}
.hero__link:hover .stroke-text--under .text-line:after {
  width: 100%;
}
.hero__inner {
  width: 100%;
  height: 100%;
  position: absolute;
  width: 40%;
  top: 0;
  left: 3%;
  text-align: center;
  padding-top: 15%;
  box-sizing: border-box;
  pointer-events: none;
}
@media (max-width: 575px) {
  .hero__inner {
    width: 100%;
    left: 0;
    padding-top: 40%;
  }
}
.hero__title {
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-family: "Cochin W01 Roman", "Noto Serif TC", serif;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media (max-width: 980px) {
  .hero__title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.05em;
  }
}
@media (max-width: 575px) {
  .hero__title {
    font-size: 18px;
  }
}
.hero .more-circle-arrow {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  fill: #453536;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
@media (max-width: 575px) {
  .hero .more-circle-arrow {
    font-size: 12px;
    line-height: 1.5em;
    letter-spacing: 0.12em;
    font-weight: 300;
    bottom: 10%;
  }
}
.more-circle-arrow {
  width: fit-content;
  margin: 0;
}
.more-circle-arrow .icon {
  fill: #453536;
}
.more-btn {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  width: fit-content;
  max-width: none;
  text-align: center;
}
@media (max-width: 980px) {
  .more-btn {
    font-size: 12px;
    line-height: 1.5em;
    letter-spacing: 0.12em;
    font-weight: 300;
    font-weight: 400;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem 50px;
    border-radius: 21px;
    border: 1px solid #453536;
  }
}
.index-slider {
  display: block;
  position: relative;
  z-index: 0;
  margin: 0 auto;
}
.index-slider__slider {
  width: 100%;
}
.index-slider__slide {
  overflow: hidden;
}
.index-slider__slide a {
  display: block;
}
.index-slider__slide a:hover .pic-hover {
  transform: scale(1.1);
}
@media (max-width: 980px) {
  .index-slider__slide a:hover .pic-hover {
    transform: scale(1);
  }
}
.index-slider__slide img {
  width: 100%;
  display: block;
}
.index-slider__pic {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.index-slider__pic img {
  width: 100%;
  height: auto;
  display: block;
}
.index-slider .slick-prev,
.index-slider .slick-next {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../images/ic-prev.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}
.index-slider .slick-next {
  order: 3;
  transform: rotate(180deg);
}
.index-slider .slick-dots {
  position: relative;
  bottom: 0;
  left: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  order: 2;
  line-height: 6px;
  margin: 0 12px 10px 0px;
}
.index-slider .slick-dots li {
  display: inline-block;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  margin: 0 7px;
  padding: 0;
  border: none;
  vertical-align: middle;
}
.index-slider .slick-dots li button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  background: transparent;
  font-size: 0;
  cursor: pointer;
}
.index-slider .slick-dots li button:before {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: black;
  content: "";
}
.index-slider .slick-dots .slick-active button:before {
  border: 2px solid black;
  background-color: transparent;
}
.index-slider .slick-prev,
.index-slider .slick-next {
  display: inline-block;
  position: absolute;
  top: 35%;
}
@media (max-width: 980px) {
  .index-slider .slick-prev,
  .index-slider .slick-next {
    position: relative;
    top: auto;
  }
}
.index-slider .slick-prev {
  left: -30px;
}
@media (max-width: 980px) {
  .index-slider .slick-prev {
    left: 0;
  }
}
.index-slider .slick-next {
  right: -30px;
}
@media (max-width: 980px) {
  .index-slider .slick-next {
    right: 0;
  }
}
.banner-slider__wrap {
  margin: 4rem auto 0 auto;
  width: 40%;
}
@media (max-width: 980px) {
  .banner-slider__wrap {
    width: 80%;
  }
}
@media (max-width: 575px) {
  .banner-slider__wrap {
    width: 90%;
    margin: 2rem auto 0 auto;
  }
}
.banner-slider .slick-prev,
.banner-slider .slick-next {
  display: inline-block;
}
.banner-slider__control {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
}
@media (max-width: 980px) {
  .banner-slider__control {
    padding: 3rem 0;
  }
}
@media (max-width: 575px) {
  .banner-slider__control {
    padding: 1.5rem 0;
  }
}
.index-about {
  margin-top: 10rem;
  background-image: url(../images/about-bg.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  padding-bottom: 8rem;
}
@media (max-width: 980px) {
  .index-about {
    background-image: url(../images/about-bg-m.png);
  }
}
@media (max-width: 575px) {
  .index-about {
    margin-top: 7rem;
    padding-bottom: 5.5rem;
  }
}
.index-about .about-slider__wrap {
  margin: 2rem auto;
  width: 100%;
}
.index-about .about-slider .slick-slide {
  box-sizing: border-box;
  padding: 0 6rem;
}
@media (max-width: 980px) {
  .index-about .about-slider .slick-slide {
    padding: 0 5.5rem;
  }
}
@media (max-width: 575px) {
  .index-about .about-slider .slick-slide {
    padding: 0 1rem;
  }
}
.index-about .about-slider .slick-prev,
.index-about .about-slider .slick-next {
  display: none;
}
.index-about .about-slider__control {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
}
@media (max-width: 980px) {
  .index-about .about-slider__control {
    padding: 3.5vmin 0;
  }
}
.index-about .about-slider .pic-text {
  position: absolute;
  bottom: 3%;
  object-fit: contain;
  width: 100%;
  transform: scale(0.7);
  opacity: 0.8;
}
.index-about .about-slider__link {
  position: relative;
  overflow: hidden;
}
.index-about .about-slider .more-btn {
  margin-top: 4rem;
}
.index-about__cont {
  width: fit-content;
  margin: auto;
  padding: 3rem 0 10rem 0;
  border-bottom: 1px solid #ccc;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 20px;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 3em;
}
@media (max-width: 575px) {
  .index-about__cont {
    font-size: 18px;
  }
}
.index-about__cont p {
  margin: 0;
}
.index-about .title {
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  margin: 10rem 0 3rem 0;
}
@media (max-width: 575px) {
  .index-about .title {
    font-size: 20px;
  }
}
.index-about .subtitle {
  border-bottom: 0.05em solid black;
  padding-bottom: 5px;
  width: fit-content;
  margin: 3rem auto;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-size: 22px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  font-weight: 400;
}
@media (max-width: 575px) {
  .index-about .subtitle {
    font-size: 18px;
  }
}
.index-about .more-btn {
  margin-top: 2.5rem;
}
.index-pickup .pickup-slider__wrap {
  margin: 2rem auto;
  width: 90%;
}
@media (max-width: 980px) {
  .index-pickup .pickup-slider__wrap {
    width: 90%;
  }
}
.index-pickup .pickup-slider .slick-slide {
  margin: 0 2rem;
}
.index-pickup .pickup-slider .slick-prev,
.index-pickup .pickup-slider .slick-next {
  display: inline-block;
}
.index-pickup .pickup-slider__control {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
}
@media (max-width: 980px) {
  .index-pickup .pickup-slider__control {
    padding: 3.5vmin 0;
  }
}
.index-pickup .title {
  text-align: center;
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
}
@media (max-width: 575px) {
  .index-pickup .title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.05em;
  }
}
.index-pickup .subtitle {
  margin: 0;
  color: #333333;
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
}
.index-pickup .caption {
  margin-top: 0;
  margin-bottom: 1rem;
  color: #796e65;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
.index-pickup .des {
  color: #796e65;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
.index-pickup .index-slider__pic {
  margin-bottom: 1rem;
  aspect-ratio: 1.43846154;
}
.btnbanner-slider__wrap {
  margin: 2rem auto;
  width: 50%;
}
@media (max-width: 980px) {
  .btnbanner-slider__wrap {
    width: 90%;
  }
}
.btnbanner-slider .slick-prev,
.btnbanner-slider .slick-next {
  display: inline-block;
  top: 40%;
}
.btnbanner-slider__control {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
}
@media (max-width: 980px) {
  .btnbanner-slider__control {
    padding: 1rem 0 0 0;
  }
}
@media (max-width: 575px) {
  .btnbanner-slider__control {
    padding: 0;
  }
}
.btnbanner-slider__item {
  position: relative;
  cursor: pointer;
}
@media (max-width: 980px) {
  .btnbanner-slider__item {
    margin-bottom: 2rem;
  }
}
.btnbanner-slider__item:hover .more-btn {
  background-color: #453536;
  color: white;
}
.btnbanner-slider__item:hover .pic-hover {
  transform: scale(1.1);
}
@media (max-width: 980px) {
  .btnbanner-slider__item:hover .pic-hover {
    transform: scale(1);
  }
}
.btnbanner-slider__cont {
  position: absolute;
  top: 3rem;
  left: 5rem;
  width: 50%;
}
@media (max-width: 575px) {
  .btnbanner-slider__cont {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
  }
}
.btnbanner-slider__cont .title {
  display: none;
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
}
@media (max-width: 575px) {
  .btnbanner-slider__cont .title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.05em;
    display: inline-block;
    margin: 1rem 0 0.5rem 0;
  }
}
.btnbanner-slider__cont .subtitle {
  font-size: 24px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-weight: 400;
  color: #333333;
  margin: 1.5rem 0 1.5rem 0;
}
@media (max-width: 1400px) {
  .btnbanner-slider__cont .subtitle {
    line-height: 0.1em;
  }
}
@media (max-width: 980px) {
  .btnbanner-slider__cont .subtitle {
    font-size: 20px;
    line-height: 2em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 0.5em;
  }
}
@media (max-width: 575px) {
  .btnbanner-slider__cont .subtitle {
    font-size: 14px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 300;
    font-family: "Noto Sans TC", sans-serif;
    font-weight: 400;
    margin: 0 0 1rem 0;
  }
}
.btnbanner-slider__cont .des {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  color: #333333;
}
@media (max-width: 575px) {
  .btnbanner-slider__cont .des {
    font-weight: 300;
    color: #666666;
  }
}
.btnbanner-slider .more-btn {
  position: absolute;
  bottom: 2rem;
  left: 5rem;
}
@media (max-width: 980px) {
  .btnbanner-slider .more-btn {
    bottom: 4rem;
    width: fit-content;
  }
}
@media (max-width: 575px) {
  .btnbanner-slider .more-btn {
    display: block;
    width: 40%;
    margin: 2rem auto 0 auto;
    position: relative;
    bottom: 0;
    left: 0;
  }
}
.index-news__wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
@media (max-width: 1400px) {
  .index-news__wrap {
    padding: 0 2rem;
  }
}
@media (max-width: 980px) {
  .index-news__wrap {
    padding: 0;
    flex-direction: column;
    gap: 3rem;
  }
}
@media (max-width: 575px) {
  .index-news__wrap {
    gap: 1rem;
  }
}
.index-news__intro {
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 980px) {
  .index-news__intro {
    width: 100%;
    flex-direction: row;
    text-align: center;
  }
}
@media (max-width: 575px) {
  .index-news__intro {
    justify-content: center;
  }
}
.index-news .title {
  font-size: 28px;
  line-height: 2em;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  margin: 0;
}
@media (max-width: 575px) {
  .index-news .title {
    font-size: 24px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.05em;
  }
}
.index-news__list {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 70%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 980px) {
  .index-news__list {
    width: 100%;
  }
}
@media (max-width: 575px) {
  .index-news__list {
    margin-bottom: 3rem;
  }
}
.index-news__item {
  position: relative;
  padding: 0.5rem 1rem;
  color: #333;
  text-align: left;
  transition: all 0.4s ease 0ms;
}
.index-news__item::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #f6f6f6;
  transition: transform 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0ms;
  transform: scaleX(0);
  transform-origin: right;
}
.index-news__item:hover {
  box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.15);
}
.index-news__item:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
@media (max-width: 575px) {
  .index-news__item {
    border-bottom: 1px solid #D5D5D5;
    padding-bottom: 1rem;
  }
}
@media (max-width: 575px) {
  .index-news__item:first-child {
    border-top: 1px solid #D5D5D5;
  }
}
.index-news__item-info {
  white-space: nowrap;
}
.index-news__link {
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media (max-width: 575px) {
  .index-news__link {
    flex-direction: column;
    align-items: flex-start;
  }
}
.index-news__date {
  display: inline-block;
  color: #666;
  vertical-align: middle;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  margin-right: 3rem;
}
@media (max-width: 575px) {
  .index-news__date {
    margin-right: 1.5rem;
  }
}
.index-news__type {
  display: inline-block;
  width: 90px;
  padding: 6px 0 5px;
  text-decoration: underline;
  vertical-align: middle;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
.index-news__item-cont {
  display: block;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 575px) {
  .index-news__item-cont {
    white-space: wrap;
    overflow: auto;
    text-overflow: initial;
  }
}
.index-news .more-circle-arrow {
  font-weight: 300;
}
@media (max-width: 575px) {
  .index-news .more-circle-arrow {
    margin: 0 auto;
  }
}
@media (max-width: 980px) {
  .index-news .more-circle-arrow.atmobile-hide {
    margin-right: 2rem;
  }
}
.first-video {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  max-width: 700px;
}
@media (max-width: 980px) {
  .first-video {
    margin-top: 20vw;
    padding: 0 20px;
    margin-top: 10px;
  }
}
.first-video__bg {
  padding: 60px 0;
  background-color: #f3f1ee;
}
@media (max-width: 575px) {
  .first-video__bg {
    padding: 50px 0;
  }
}
.first-video__title {
  width: 400px;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 980px) {
  .first-video__title {
    width: 60%;
  }
}
@media (max-width: 575px) {
  .first-video__title {
    width: 90%;
  }
}
.first-video__subtitle {
  margin: 0;
  margin-top: 20px;
  text-align: center;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-weight: 400;
}
.first-video__wrapper {
  position: relative;
  width: 100%;
  margin-top: 50px;
  padding-bottom: 56.25%;
}
@media (max-width: 980px) {
  .first-video__wrapper {
    margin-top: 30px;
  }
}
.first-video__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.first-video__info {
  width: 100%;
  max-width: 502px;
  margin: 45px auto 0;
}
.first-video__info .more-btn {
  display: flex;
  justify-content: center;
  margin: 0 auto  auto;
}
@media (max-width: 575px) {
  .first-video__info .more-btn {
    width: 50%;
  }
}
.first-video .banner__container {
  width: 100%;
  margin: 7rem auto 1rem auto;
}
@media (max-width: 980px) {
  .first-video .banner__container {
    width: 90%;
    margin: 6rem auto 0 auto;
  }
}
.first-video .banner__container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.first-video .banner__container:hover .banner__link:before {
  opacity: 0.3;
}
.first-video .banner__link {
  display: block;
  position: relative;
}
.first-video .banner__link:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255);
  z-index: 1;
  opacity: 0;
  transition: all 0.3s;
}
.category {
  padding-top: 0;
}
@media (max-width: 1400px) {
  .category {
    padding: 0 2rem;
  }
}
@media (max-width: 980px) {
  .category {
    padding: 0;
  }
}
@media (max-width: 575px) {
  .category {
    padding-top: 13vw;
  }
}
@media (max-width: 575px) {
  .category .base-inner {
    width: 80%;
  }
}
.category__wrap {
  display: flex;
  flex-direction: row;
  gap: 4rem;
}
@media (max-width: 575px) {
  .category__wrap {
    flex-direction: column;
    gap: 2rem;
  }
}
.category__side h2 {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  margin: 0;
  letter-spacing: 0;
  color: #999;
}
@media (max-width: 575px) {
  .category__side h2 {
    border-bottom: 0.5px solid #999;
    padding-bottom: 1rem;
  }
}
.category__main {
  flex: 1;
}
.category__block {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}
.category__title {
  display: inline-block;
  width: fit-content;
  padding-right: 2rem;
  margin-bottom: 1rem;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  color: #999;
}
@media (max-width: 575px) {
  .category__title {
    padding-left: 2rem;
  }
}
.category__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 575px) {
  .category__list:first-child {
    margin-bottom: 2rem;
  }
}
.category__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 1rem;
}
@media (max-width: 575px) {
  .category__item {
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin-bottom: 2rem;
  }
}
.category__label {
  width: fit-content;
  padding-right: 2rem;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
  position: relative;
  white-space: nowrap;
}
@media (max-width: 575px) {
  .category__label {
    padding-right: 0;
    margin-bottom: 1rem;
  }
}
.category__label:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: block;
  width: 1px;
  height: 1em;
  background-color: #cccccc;
}
@media (max-width: 575px) {
  .category__label:after {
    display: none;
  }
}
@media (max-width: 575px) {
  .category__label {
    width: 100%;
  }
}
.category__links {
  width: 80%;
}
@media (max-width: 575px) {
  .category__links {
    width: 100%;
  }
}
.category__link {
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  line-height: 2em;
  position: relative;
  display: inline-block;
  margin-bottom: 5px;
}
@media (max-width: 575px) {
  .category__link {
    width: 49%;
    background-color: #f5f5f5;
  }
}
.category__link--shadow:before {
  content: "";
  position: absolute;
  top: 5.5px;
  left: 18px;
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
@media (max-width: 980px) {
  .category__link--shadow:before {
    top: 6px;
    left: 21px;
  }
}
@media (max-width: 575px) {
  .category__link--shadow:before {
    top: 5.5px;
    left: 18px;
  }
}
.category .icon {
  vertical-align: middle;
  margin-left: 1.5rem;
  position: relative;
}
.shops__wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1rem 0 0 8.5rem;
  gap: 1rem;
}
@media (max-width: 980px) {
  .shops__wrap {
    padding: 0 0 0 1rem;
  }
}
@media (max-width: 575px) {
  .shops__wrap {
    flex-direction: column;
    padding: 0 2rem 0 1rem;
  }
}
.shops__side {
  width: 8%;
  margin-bottom: 1rem;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  color: #999;
}
@media (max-width: 980px) {
  .shops__side {
    width: 12%;
  }
}
@media (max-width: 575px) {
  .shops__side {
    width: 100%;
    padding: 0;
  }
}
.shops__main {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin: 0 auto;
}
@media (max-width: 575px) {
  .shops__main {
    flex-direction: column;
    padding: 0 0 3rem 1rem;
  }
}
.shops__subtitle {
  margin: 0 0 1rem 0;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.12em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
}
.shops__list {
  flex: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}
.shops__item {
  padding-left: 1rem;
}
.shops__link {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
  line-height: 2em;
}
.fold__btn {
  position: relative;
  cursor: pointer;
}
.fold__btn:before,
.fold__btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 1px;
  background-color: #999;
}
.fold__btn:before {
  transform: rotate(90deg);
  transition: transform 0.3s, opacity 0.3s;
}
.fold__btn.open:before {
  transform: rotate(0deg);
  opacity: 0;
}
.fold__cont {
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.fold__cont.view {
  visibility: visible;
  opacity: 1;
  max-height: 500px;
}
.col2__block {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 2rem;
  margin: 2rem auto 0 auto;
}
@media (max-width: 575px) {
  .col2__block {
    flex-direction: column;
  }
}
.col2__block--reverse {
  flex-direction: row-reverse;
}
@media (max-width: 575px) {
  .col2__block--reverse {
    flex-direction: column;
  }
}
.col2__block--inner {
  max-width: 1200px;
}
.col2__block .more-btn {
  margin-top: 6rem;
}
@media (max-width: 980px) {
  .col2__block .more-btn {
    margin-top: 2rem;
    width: 40%;
  }
}
.col2__pic {
  width: 55%;
  position: relative;
  display: block;
  overflow: hidden;
}
@media (max-width: 575px) {
  .col2__pic {
    width: 100%;
  }
}
.col2__pic picture,
.col2__pic img {
  display: block;
  position: relative;
  width: 100%;
}
.col2__pic:hover .pic-hover {
  transform: scale(1.1);
}
@media (max-width: 980px) {
  .col2__pic:hover .pic-hover {
    transform: scale(1);
  }
}
.col2__pictext {
  position: absolute;
  font-size: 20px;
  line-height: 2em;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
}
@media (max-width: 980px) {
  .col2__pictext {
    font-size: 15px;
    line-height: 2em;
  }
}
.col2__pictext--rt {
  top: 15%;
  right: 10%;
}
@media (max-width: 575px) {
  .col2__pictext--rt {
    right: 4%;
  }
}
.col2__pictext--lm {
  top: 20%;
  left: 10%;
}
@media (max-width: 980px) {
  .col2__pictext--lm {
    top: auto;
    bottom: 10%;
  }
}
.col2__pictext--lt {
  top: 15%;
  left: 10%;
}
@media (max-width: 575px) {
  .col2__pictext--lt {
    top: 10%;
    left: 5%;
  }
}
.col2__pictext--lb {
  bottom: 10%;
  left: 10%;
}
@media (max-width: 575px) {
  .col2__pictext--lb {
    left: auto;
    bottom: 5%;
    right: 5%;
  }
}
.col2__cont {
  width: 45%;
  padding-top: 2rem;
}
@media (max-width: 575px) {
  .col2__cont {
    width: 100%;
    padding: 1vw 4vw;
  }
}
.col2__cont:hover .more-btn {
  background-color: #453536;
  color: white;
}
.col2__title {
  margin-top: 0;
  margin-bottom: 0.5em;
  color: #343030;
  font-size: 40px;
  line-height: 1.5em;
  letter-spacing: 0;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
}
@media (max-width: 980px) {
  .col2__title {
    font-size: 30px;
  }
}
.col2__subtitle {
  margin: 0;
  font-size: 20px;
  line-height: 2em;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Bodoni Moda", "Noto Serif TC", serif;
  font-weight: 300;
}
@media (max-width: 980px) {
  .col2__subtitle {
    font-size: 16px;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2em;
  }
}
.col2__des {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
.col3__block {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-evenly;
  gap: 2rem;
  padding: 0 5rem;
}
@media (max-width: 980px) {
  .col3__block {
    padding: 0;
    justify-content: space-between;
  }
}
@media (max-width: 575px) {
  .col3__block {
    flex-direction: column;
  }
}
.col3__cell {
  width: 30%;
}
@media (max-width: 575px) {
  .col3__cell {
    width: 100%;
  }
}
.col3__cell:hover .pic-hover {
  transform: scale(1.1);
}
@media (max-width: 980px) {
  .col3__cell:hover .pic-hover {
    transform: scale(1);
  }
}
.col3__item {
  display: block;
  background-color: transparent;
  transition: all 0.5s;
  position: relative;
}
.col3__item .icon-arrow {
  position: absolute;
  visibility: none;
  opacity: 0;
  right: 2rem;
  bottom: 3.5rem;
  transition: all 0.5s;
}
@media (max-width: 980px) {
  .col3__item .icon-arrow {
    visibility: visible;
    opacity: 1;
    transform: scale(1.2);
  }
}
.col3__item:hover {
  background-color: #f5f5f5;
}
.col3__item:hover .icon-arrow {
  visibility: visible;
  opacity: 1;
  transform: scale(1.2);
}
.col3__pic {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.col3__pic img {
  display: block;
  width: 100%;
  height: auto;
}
.col3__cont {
  padding: 1rem 0 2rem 2rem;
}
@media (max-width: 980px) {
  .col3__cont {
    padding: 1rem 0 2rem 1rem;
  }
}
.col3__cont .subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 300;
}
.col3__cont .des {
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: "Noto Sans TC", sans-serif;
}
.about2__wrap {
  display: flex;
  flex-direction: column;
}
@media (max-width: 575px) {
  .about2__wrap {
    flex-direction: column-reverse;
  }
}
.about2__wrap .col3__cont {
  width: 90%;
}
.about2__wrap .shops {
  order: 2;
}
@media (max-width: 575px) {
  .about2__wrap .shops {
    order: 1;
  }
}
.about2__wrap .col3__wrap {
  order: 1;
}
@media (max-width: 575px) {
  .about2__wrap .col3__wrap {
    order: 2;
  }
}
.series .col2__block {
  align-items: flex-start;
  position: relative;
}
@media (max-width: 575px) {
  .series .col2__block {
    align-items: center;
  }
}
.series .col2__cont {
  width: 35%;
  padding-top: 5rem;
}
@media (max-width: 575px) {
  .series .col2__cont {
    width: 100%;
    padding-top: 33%;
    text-align: start;
  }
}
.series .col2__cont .more-btn {
  margin: 2rem 0 0 0;
}
@media (max-width: 575px) {
  .series .col2__cont .more-btn {
    margin: 2rem auto 0 auto;
  }
}
@media (max-width: 575px) {
  .series .col2__title {
    margin: 0;
    text-align: center;
  }
}
.series .col2__subtitle {
  font-weight: 400;
}
@media (max-width: 575px) {
  .series .col2__subtitle {
    padding-left: 5rem;
  }
}
@media (max-width: 575px) {
  .series .col2__des {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media (max-width: 980px) {
  .series .col2__pic img {
    height: 600px;
  }
}
@media (max-width: 575px) {
  .series .col2__pic img {
    height: auto;
  }
}
.series .rellax {
  position: absolute;
  transition: transform 0.3s ease-out;
}
.series .series-slider__wrap {
  width: 20%;
}
.series .series-slider--1 {
  position: absolute;
  width: 25%;
  z-index: 10;
  bottom: -15%;
  left: 0;
}
@media (max-width: 980px) {
  .series .series-slider--1 {
    left: 1rem;
    bottom: 5%;
  }
}
@media (max-width: 575px) {
  .series .series-slider--1 {
    width: 45%;
    bottom: 30%;
  }
}
.series .series-slider--2 {
  position: absolute;
  width: 25%;
  z-index: 10;
  bottom: -5%;
  right: 45%;
}
@media (max-width: 980px) {
  .series .series-slider--2 {
    top: 65%;
  }
}
@media (max-width: 575px) {
  .series .series-slider--2 {
    width: 45%;
    right: 1rem;
    top: 35%;
  }
}
