@charset "UTF-8";
/*!
Theme Name: salonre.1.0
Theme URI: http://ace-union.net
Version: salonre
Author: AceUnionDesign co.,ltd
*/
/*!
*** based on ***
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17_2
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Serif+JP:wght@200..900&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
}

/* HTML5 display-role reset for older browsers */
address, article, aside, figure, figcaption, footer,
header, hgroup, hr, legend, main, menu, nav, section, summary {
  display: block;
}

ul, ol {
  list-style: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

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

/* Adjust border color as needed */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/* Added global box-sizing reset */
*,
::before,
::after {
  box-sizing: border-box;
}

/* Cancel webkit text-size adjustment */
body {
  -webkit-text-size-adjust: 100%;
}

/* Reset button default styles */
button {
  display: inline-block;
  padding: 0;
  background: none;
  border: none;
}

/* Adjust small tag default size */
small {
  font-size: 75%;
}

/* Hide hidden elements */
[hidden] {
  display: none;
}

/* Remove mark default background */
mark {
  background: none;
}

/* Normalize em tag to non-italic */
em {
  font-style: normal;
}

/* Set input opacity to visible */
input {
  opacity: 1;
}

/* Align images to bottom */
img {
  vertical-align: bottom;
}

/* Normalize address font style */
address {
  font-style: normal;
}

button {
  cursor: pointer;
}

input::-webkit-input-placeholder {
  color: #bbb;
}
input:-moz-placeholder {
  color: #999;
}
input::-moz-placeholder {
  color: #999;
}
input:-ms-input-placeholder {
  color: #999;
}

.sp-only {
  display: block;
}
@media only screen and (min-width: 768px) {
  .sp-only {
    display: none;
    visibility: hidden;
  }
}

.pc-only {
  display: none;
  visibility: hidden;
}
@media only screen and (min-width: 768px) {
  .pc-only {
    display: block;
    visibility: visible;
  }
}

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

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

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

.strong {
  font-weight: bold;
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
}
@media only screen and (min-width: 768px) {
  html {
    scroll-padding-top: 0;
  }
}

body {
  position: relative;
  margin: 0;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  line-height: 1.5;
  background: #FFFFFF;
  color: #333333;
  overflow-x: hidden;
  font-size: 0.875rem;
  overflow-x: hidden;
  letter-spacing: 0.07em;
  overscroll-behavior: none;
  font-size: 4.27vw;
}
@media only screen and (min-width: 768px) {
  body {
    font-size: clamp(12px, 0.83vw, 0.83vw);
    line-height: 1.75;
  }
}
body strong {
  font-weight: bold;
}
body a {
  color: #333333;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease-in;
}
body a:hover {
  color: #333333;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.7;
  transition: all 0.2s ease-in;
}

button,
input,
select,
option,
textarea,
label {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
}

/* AOS横揺れ防止のためのCSS */
/* 1. GPU加速とtransform-originの指定 */
[data-aos] {
  transform-origin: center center;
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  perspective: 1000px;
  -webkit-perspective: 1000px;
}

/* 2. アニメーション中の要素安定化 */
[data-aos][data-aos][data-aos-easing=ease-in-out],
[data-aos]:not([data-aos-easing]) {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* 3. 特定のAOSアニメーションタイプの調整 */
[data-aos=fade-up] {
  transform: translate3d(0, 40px, 0);
  opacity: 0;
}

[data-aos=fade-up].aos-animate {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

[data-aos=fade-left] {
  transform: translate3d(-40px, 0, 0);
  opacity: 0;
}

[data-aos=fade-left].aos-animate {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

[data-aos=fade-right] {
  transform: translate3d(40px, 0, 0);
  opacity: 0;
}

[data-aos=fade-right].aos-animate {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

[data-aos=zoom-in] {
  transform: scale3d(0.6, 0.6, 0.6);
  opacity: 0;
}

[data-aos=zoom-in].aos-animate {
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

/* 4. 親要素の安定化 */
.aos-animate {
  transform-style: preserve-3d;
}

/* 5. ブラウザ固有の最適化 */
@supports (transform: translate3d(0, 0, 0)) {
  [data-aos] {
    transform: translate3d(0, 0, 0);
  }
}
/* 6. モバイル端末での追加安定化 */
@media (max-width: 768px) {
  [data-aos] {
    transform: none !important;
    opacity: 1 !important;
  }
  /* モバイルでもアニメーションを維持したい場合 */
  .enable-mobile-aos [data-aos] {
    transform: initial;
    opacity: initial;
  }
}
/* 7. リダクトモーション対応 */
@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    transform: none !important;
    transition: none !important;
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 1 !important;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.6);
  z-index: 1000;
  padding: 4vw 0 4.27vw;
  height: 60px;
  transition: background-color 0.3s ease, -webkit-backdrop-filter 0.3s ease;
  transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
  transition: background-color 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .header {
    height: clamp(70px, 9vw, 4.69vw);
    padding: 0.78vw 0 0.83vw;
  }
}
.header__inner {
  display: flex;
  align-items: center;
  height: 100%;
  margin-left: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .header__inner {
    margin-left: 2.6vw;
    justify-content: space-between;
  }
}
@media only screen and (min-width: sp) {
  .header__inner {
    padding: 0 clamp(20px, 5vw, 30px);
    justify-content: space-between;
  }
}
.header__logo {
  margin: 0;
  z-index: 1001;
}
.header__logo-link {
  display: flex;
  align-items: center;
  transition: all 0.3s ease;
}
.header__logo-link:hover {
  opacity: 0.8;
  transform: scale(1.02);
}
.header__logo-link img {
  width: 180px;
  height: auto;
}
@media only screen and (min-width: sp) {
  .header__logo-link img {
    width: clamp(160px, 40vw, 200px);
  }
}
@media only screen and (min-width: 768px) {
  .header__logo-link img {
    width: clamp(150px, 12.5vw, 12.5vw);
  }
}
.header__right {
  display: none;
}
@media only screen and (min-width: 768px) {
  .header__right {
    display: flex;
    height: 100%;
    align-items: center;
  }
}
@media only screen and (min-width: 768px) {
  .header__center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .header__top {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(20px, 1.04vw, 1.04vw);
    margin-bottom: 0.21vw;
  }
}
@media only screen and (min-width: 768px) {
  .header__text-menu {
    display: flex;
    align-items: center;
    gap: clamp(20px, 2vw, 0.78vw);
  }
}
@media only screen and (min-width: 768px) {
  .header__text-link {
    color: #666666;
    font-size: clamp(12px, 1.3vw, 0.68vw);
    text-decoration: none;
    transition: color 0.3s ease;
    letter-spacing: 0.05em;
    position: relative;
    padding: 0.42vw 0;
  }
  .header__text-link:hover {
    color: #D1B45C;
  }
  .header__text-link:hover::after {
    width: 100%;
  }
  .header__text-link::after {
    content: "";
    position: absolute;
    bottom: 0.21vw;
    left: 0;
    width: 0;
    height: 1px;
    background: #D1B45C;
    transition: width 0.3s ease;
  }
}
@media only screen and (min-width: 1080px) {
  .header__text-link {
    font-size: 0.68vw;
  }
}
@media only screen and (min-width: 768px) {
  .header__social-area {
    display: flex;
    align-items: flex-start;
    gap: clamp(10px, 0.52vw, 0.52vw);
    margin-top: clamp(10px, 0.52vw, 0.52vw);
  }
}
@media only screen and (min-width: 768px) {
  .header__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    width: clamp(20px, 2.2vw, 1.04vw);
  }
  .header__social-link:hover {
    transform: translateY(-2px) scale(1.1);
  }
  .header__social-link--tel {
    flex-direction: column;
    align-items: center;
    cursor: default;
  }
}
.header__social-icon {
  width: clamp(18px, 0.94vw, 0.94vw);
}
@media only screen and (min-width: 768px) {
  .header__social-icon {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .header__social-icon--facebook {
    width: clamp(18px, 0.94vw, 0.94vw);
  }
  .header__social-icon--x {
    width: clamp(16px, 0.83vw, 0.83vw);
  }
}
@media only screen and (min-width: 768px) {
  .header__tel-label {
    margin-top: 0.1vw;
    font-size: clamp(10px, 1vw, 0.52vw);
    color: #666666;
    white-space: nowrap;
    line-height: 1.2;
  }
}
@media only screen and (min-width: 768px) {
  .header__bottom {
    display: flex;
    align-items: center;
    gap: 1.25vw;
    margin-bottom: 0.21vw;
  }
}
@media only screen and (min-width: 768px) {
  .header__main-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #333333;
    transition: all 0.3s ease;
    padding: 0.42vw;
    border-radius: 8px;
  }
  .header__main-link:hover {
    background: rgba(209, 180, 92, 0.1);
    transform: translateY(-2px);
  }
  .header__main-link:hover .header__main-text {
    color: #D1B45C;
  }
}
@media only screen and (min-width: 768px) {
  .header__main-icon {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .header__main-icon--datsumou {
    width: clamp(20px, 2vw, 0.94vw);
    margin-right: 0.47vw;
  }
  .header__main-icon--whitening {
    width: clamp(20px, 2vw, 0.94vw);
    margin-right: 0.52vw;
  }
  .header__main-icon--flow {
    width: clamp(15px, 1.6vw, 0.73vw);
    margin-right: 0.52vw;
  }
  .header__main-icon--shop {
    width: clamp(16px, 1.8vw, 1.15vw);
    margin-right: 0.52vw;
  }
}
@media only screen and (min-width: 768px) {
  .header__main-text {
    font-size: clamp(13px, 1.4vw, 0.68vw);
    letter-spacing: 0.05em;
    transition: color 0.3s ease;
    white-space: nowrap;
  }
}
.header__button-area {
  display: none;
}
@media only screen and (min-width: 768px) {
  .header__button-area {
    display: flex;
    height: clamp(70px, 9vw, 4.69vw);
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    margin-left: 1.56vw;
  }
}
@media only screen and (min-width: 768px) {
  .header__button {
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.21vw;
    width: clamp(90px, 14vw, 7.6vw);
    height: clamp(70px, 9vw, 4.69vw);
    border-radius: 0;
    font-size: clamp(11px, 1.6vw, 0.83vw);
    font-weight: 500;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    text-align: center;
    white-space: nowrap;
    background: #D1B45C;
    color: white;
    text-decoration: none;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
  }
  .header__button:hover {
    background: #dcc684;
  }
}
@media only screen and (min-width: 768px) {
  .header__button-icon {
    width: clamp(15px, 2vw, 1.04vw);
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media only screen and (min-width: 768px) {
  .header__button-text {
    display: block;
    line-height: 1.3;
  }
}
.header__nav-mobile {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 249, 249, 0.98) 100%);
  z-index: 999;
  align-items: flex-start;
  justify-content: flex-start;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  overflow-y: auto;
  overflow-x: hidden;
  padding: clamp(70px, 18vw, 90px) 0 8vw;
}
.header__nav-mobile.open {
  display: flex;
  opacity: 1;
  visibility: visible;
}
@media only screen and (min-width: 768px) {
  .header__nav-mobile {
    display: none !important;
  }
}
.header__nav-inner {
  width: 100%;
  max-width: 80vw;
  margin: 0 auto;
  padding: 0 5.33vw;
  min-height: calc(100vh - clamp(100px, 25vw, 120px));
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.header__nav-section {
  margin-bottom: 5.33vw;
}
.header__nav-section--main {
  padding-bottom: 4vw;
  border-bottom: 1px solid rgba(209, 180, 92, 0.3);
}
.header__nav-section--other {
  padding-bottom: 3.2vw;
  border-bottom: 1px solid rgba(209, 180, 92, 0.3);
}
.header__nav-section--buttons {
  padding-bottom: 3.2vw;
  border-bottom: 1px solid rgba(209, 180, 92, 0.3);
}
.header__nav-section--social {
  margin-bottom: 0;
}
.header__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.header__nav-list--main {
  gap: 2.67vw;
}
.header__nav-item {
  position: relative;
}
.header__nav-link {
  text-decoration: none;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2.13vw;
}
.header__nav-link--main {
  color: #333333;
  font-size: clamp(16px, 4vw, 18px);
  font-weight: 500;
  gap: 2.67vw;
  padding: 3.2vw 4.27vw;
}
.header__nav-link--main:hover {
  background: rgba(209, 180, 92, 0.15);
  transform: translateY(-2px);
}
.header__nav-link--main:hover .header__nav-icon {
  transform: scale(1.1);
}
.header__nav-icon {
  width: 4.8vw;
  height: 4.8vw;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.3s ease;
}
.header__nav-sub-list {
  list-style: none;
  margin: 2.13vw 0 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.07vw;
}
.header__nav-sub-link {
  display: block;
  color: #888888;
  font-size: clamp(12px, 3vw, 14px);
  text-decoration: none;
  padding: 1.6vw 3.2vw;
  margin-left: 7.47vw;
  position: relative;
  transition: color 0.3s ease;
}
.header__nav-sub-link:hover {
  color: #D1B45C;
}
.header__nav-other-links {
  display: flex;
  justify-content: center;
  gap: 5.33vw;
  flex-wrap: wrap;
}
.header__nav-other-link {
  color: #666666;
  font-size: clamp(13px, 3.2vw, 15px);
  text-decoration: none;
  padding: 1.6vw 2.13vw;
  border-radius: 1.07vw;
  transition: all 0.3s ease;
  position: relative;
}
.header__nav-other-link:hover {
  color: #D1B45C;
  background: rgba(209, 180, 92, 0.1);
}
.header__nav-other-link::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 1px;
  background: #D1B45C;
  transition: width 0.3s ease;
}
.header__nav-other-link:hover::after {
  width: 80%;
}
.header__nav-buttons {
  display: flex;
  flex-direction: column;
  gap: 2.13vw;
  align-items: center;
}
.header__nav-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.13vw;
  background: #D1B45C;
  color: white;
  text-decoration: none;
  padding: 3.2vw 5.33vw;
  border-radius: 6.67vw;
  font-size: clamp(14px, 3.5vw, 16px);
  font-weight: 500;
  transition: all 0.3s ease;
  width: 53.33vw;
  position: relative;
  overflow: hidden;
}
.header__nav-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}
.header__nav-button:hover {
  background: #dcc684;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(209, 180, 92, 0.3);
}
.header__nav-button:hover::before {
  left: 100%;
}
.header__nav-button:hover .header__nav-button-icon {
  transform: scale(1.1) rotate(5deg);
}
.header__nav-button--form {
  background: #D1B45C;
}
.header__nav-button--line {
  background: #00C300;
}
.header__nav-button--line:hover {
  background: #00f600;
  box-shadow: 0 4px 12px rgba(0, 195, 0, 0.3);
}
.header__nav-button-icon {
  width: 4.27vw;
  height: 4.27vw;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.3s ease;
}
.header__nav-button-text {
  white-space: nowrap;
}
.header__nav-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.73vw;
  padding: 2.13vw 0;
}
.header__nav-social-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.6vw;
  height: 9.6vw;
  border-radius: 50%;
  transition: all 0.3s ease;
  text-decoration: none;
  background: rgba(209, 180, 92, 0.1);
}
.header__nav-social-item--tel {
  flex-direction: column;
  cursor: default;
  gap: 0.53vw;
  height: auto;
  padding: 1.6vw;
  border-radius: 1.6vw;
}
.header__nav-social-item--facebook:hover {
  background: #1877F2;
  transform: translateY(-2px) scale(1.1);
}
.header__nav-social-item--facebook:hover .header__nav-social-icon {
  filter: brightness(0) invert(1);
}
.header__nav-social-item--x:hover {
  background: #1DA1F2;
  transform: translateY(-2px) scale(1.1);
}
.header__nav-social-item--x:hover .header__nav-social-icon {
  filter: brightness(0) invert(1);
}
.header__nav-social-icon {
  width: 3.73vw;
  height: 3.73vw;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.3s ease;
}
.header__nav-social-item--tel .header__nav-social-icon {
  width: 3.2vw;
  height: 3.2vw;
}
.header__nav-social-fallback {
  font-size: 3.73vw;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}
.header__nav-social-item--tel .header__nav-social-fallback {
  font-size: 3.2vw;
}
.header__nav-tel-label {
  font-size: 2.4vw;
  color: #666666;
  line-height: 1;
  white-space: nowrap;
}

/* スクロール時のヘッダー背景（不透過） */
.header--scrolled {
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* より確実に不透過にしたい場合 */
.header--scrolled {
  background: rgb(255, 255, 255); /* 完全に不透過 */
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.menu-icon {
  width: 30px;
  position: fixed;
  cursor: pointer;
  z-index: 1001;
  right: 15px;
  top: 15px;
}
@media only screen and (min-width: 768px) {
  .menu-icon {
    display: none;
  }
}
.menu-icon .bar {
  width: 100%;
  height: 2px;
  background-color: #333333;
  margin: 6px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.menu-icon.open .bar {
  background-color: #333333;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.menu-icon.open .bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.menu-icon.open .bar:nth-child(2) {
  opacity: 0;
}
.menu-icon.open .bar:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

body.fixed {
  position: fixed;
  overflow: hidden;
  width: 100%;
}
body.fixed .header__nav {
  display: block;
}

.footer {
  background: #D1B45C;
  padding: 16vw 0 13.33vw;
}
@media only screen and (min-width: 768px) {
  .footer {
    padding: 4.17vw 0 3.91vw;
  }
}
.footer__inner {
  max-width: 89.58vw;
  margin-right: auto;
  margin-left: auto;
}
.footer__content {
  display: flex;
  flex-direction: column;
  gap: 10.67vw;
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .footer__content {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 3.13vw;
  }
}
.footer__nav {
  display: flex;
  flex-direction: column;
  gap: 8vw;
}
@media only screen and (min-width: 768px) {
  .footer__nav {
    flex-direction: row;
    gap: 4.17vw;
  }
}
.footer__nav-column {
  min-width: 0;
}
.footer__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .footer__nav-list {
    gap: 0.52vw;
  }
}
.footer__nav-item--sub {
  position: relative;
  margin-left: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .footer__nav-item--sub {
    margin-left: 1.25vw;
  }
}
.footer__nav-item--sub::before {
  content: "";
  position: absolute;
  left: -4vw;
  top: 50%;
  transform: translateY(-50%);
  width: 2.67vw;
  height: 1px;
  background: white;
}
@media only screen and (min-width: 768px) {
  .footer__nav-item--sub::before {
    left: -0.94vw;
    width: 0.52vw;
  }
}
.footer__nav-link {
  font-size: 3.73vw;
  color: white;
  text-decoration: none;
  line-height: 1.5;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .footer__nav-link {
    font-size: clamp(12px, 0.83vw, 0.83vw);
  }
}
.footer__nav-link:hover {
  opacity: 0.7;
}
.footer__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .footer__contact {
    align-items: flex-end;
    gap: 1.56vw;
  }
}
.footer__contact .btn-default {
  min-width: clamp(160px, 10.42vw, 10.42vw);
}
.footer__contact .btn-default__text::after {
  width: clamp(160px, 10.42vw, 10.42vw);
}
.footer__social {
  display: flex;
  align-items: center;
  gap: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .footer__social {
    gap: 0.52vw;
  }
}
.footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}
.footer__social-link:hover {
  opacity: 0.7;
}
.footer__social-icon--tel {
  width: 4.27vw;
  height: 4.27vw;
}
@media only screen and (min-width: 768px) {
  .footer__social-icon--tel {
    width: clamp(14px, 0.94vw, 0.94vw);
    height: clamp(14px, 0.94vw, 0.94vw);
  }
}
.footer__social-icon--facebook {
  width: 4.27vw;
  height: 4.27vw;
}
@media only screen and (min-width: 768px) {
  .footer__social-icon--facebook {
    width: clamp(14px, 0.94vw, 0.94vw);
    height: clamp(14px, 0.94vw, 0.94vw);
  }
}
.footer__social-icon--x {
  width: 3.73vw;
  height: 3.73vw;
}
@media only screen and (min-width: 768px) {
  .footer__social-icon--x {
    width: clamp(12px, 0.83vw, 0.83vw);
    height: clamp(12px, 0.83vw, 0.83vw);
  }
}
.footer__copyright {
  text-align: center;
}
.footer__copyright-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 3.2vw;
  color: white;
  margin: 0;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .footer__copyright-text {
    font-size: clamp(11px, 0.73vw, 0.73vw);
  }
}

.u_container {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .u_container {
    max-width: 90vw;
    padding: 0;
  }
}
@media only screen and (min-width: 992px) {
  .u_container {
    max-width: 75vw;
    padding: 0;
  }
}

.title_header {
  text-align: center;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .title_header {
    margin-bottom: 1.56vw;
  }
}
.title_header--left {
  text-align: left;
}
.title_header--left .title-en {
  text-align: left;
}
.title_header--left .title-ja {
  text-align: left;
}
.title_header--left .title-line {
  margin-left: 2.67vw;
  margin-right: auto;
}
@media only screen and (min-width: 768px) {
  .title_header--left .title-line {
    margin-left: 1.56vw;
  }
}

.title-en {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(32px, 10.67vw, 48px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  color: #D1B45C;
}
@media only screen and (min-width: 768px) {
  .title-en {
    font-size: clamp(48px, 3.33vw, 3.33vw);
  }
}

.title-ja {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  letter-spacing: 0.15em;
  color: #666666;
  margin-top: 0;
  margin-bottom: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .title-ja {
    font-size: clamp(14px, 0.83vw, 0.83vw);
    margin-bottom: 0.52vw;
  }
}

.title-line {
  width: 1px;
  height: 4vw;
  background: #CCCCCC;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .title-line {
    height: 1.04vw;
    margin: 0 auto;
  }
}

.main-title {
  font-size: clamp(20px, 5.87vw, pSize(22));
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-bottom: 4vw;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .main-title {
    font-size: clamp(19px, 1.25vw, 1.25vw);
    margin-bottom: 1.04vw;
  }
}
.main-title--center {
  text-align: center;
}

.btn-default {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 48vw;
}
@media only screen and (min-width: 768px) {
  .btn-default {
    width: clamp(144px, 9.38vw, 9.38vw);
  }
}
.btn-default__text {
  font-family: "Cormorant Garamond", serif;
  font-size: 5.33vw;
  font-weight: 600;
  color: #333333;
  position: relative;
  padding-bottom: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .btn-default__text {
    font-size: clamp(20px, 1.35vw, 1.35vw);
    padding-bottom: 0.42vw;
  }
}
.btn-default__text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48vw;
  height: 1px;
  background: #EEEEEE;
}
@media only screen and (min-width: 768px) {
  .btn-default__text::after {
    width: clamp(144px, 9.38vw, 9.38vw);
  }
}
.btn-default__icon {
  width: 4.8vw;
  height: 4.8vw;
}
@media only screen and (min-width: 768px) {
  .btn-default__icon {
    width: clamp(17px, 0.89vw, 0.89vw);
    height: clamp(17px, 0.89vw, 0.89vw);
  }
}
.btn-default--w {
  color: #FFFFFF;
}
.btn-default--w .btn-default__text {
  color: #FFFFFF;
}
.btn-default--w:hover {
  opacity: 0.8;
}
.btn-default--center {
  margin-right: auto;
  margin-left: auto;
}

.section-fff {
  color: #fff;
}
.section-fff .btn-default__text {
  color: #fff;
}
.section-fff .title-ja {
  color: #fff;
}

.menu-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 4.8vw;
  color: #D1B45C;
  margin-bottom: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .menu-title {
    font-size: clamp(17px, 1.15vw, 1.15vw);
    margin-bottom: 0.52vw;
  }
}

.menu-line {
  width: 100%;
  height: 1px;
  background: #D1B45C;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .menu-line {
    margin-bottom: 1.3vw;
  }
}

.menu-list {
  margin-bottom: 8vw;
}
@media only screen and (min-width: 768px) {
  .menu-list {
    margin-bottom: 2.08vw;
  }
}

.menu-item {
  display: flex;
  align-items: flex-start;
  gap: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .menu-item {
    gap: 0.26vw;
  }
}
.menu-item:last-child {
  margin-bottom: 0;
}

.menu-dot {
  width: 1.6vw;
  height: 1.6vw;
  background: #D1B45C;
  border-radius: 50%;
  margin-top: 1.6vw;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .menu-dot {
    width: 0.42vw;
    height: 0.42vw;
    margin-top: 0.36vw;
  }
}

.btn__link {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(13px, 4.27vw, 16px);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 7px;
  line-height: 1.5;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .btn__link {
    font-size: clamp(12px, 0.83vw, 0.83vw);
    gap: 0.52vw;
    padding-bottom: 0.36vw;
  }
}
.btn__link::after {
  content: "";
  display: block;
  background: url("images/link_arrow.png") no-repeat center;
  background-size: cover;
  width: 9px;
  height: 5px;
}
@media only screen and (min-width: 768px) {
  .btn__link::after {
    width: 0.47vw;
    height: 0.26vw;
  }
}
.btn__link::before {
  position: absolute;
  content: "";
  display: block;
  background: #000000;
  left: 0;
  bottom: 0;
  opacity: 1;
  transition: opacity 0.3s ease;
  width: 100%;
  height: 1px;
}
@media only screen and (min-width: 768px) {
  .btn__link::before {
    width: 100%;
    height: 0.05vw;
  }
}
.btn__link:hover::before {
  opacity: 0;
}

.contentCard__list {
  display: flex;
  flex-direction: column;
  gap: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .contentCard__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.04vw;
  }
}
.contentCard__item {
  position: relative;
  background: #FFFFFF;
  padding: 5.33vw;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .contentCard__item {
    padding: 1.56vw;
    padding-bottom: 2.08vw;
    flex: 1;
    min-width: calc(50% - 0.52vw);
    max-width: calc(50% - 0.52vw);
  }
}
.contentCard__item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6.67vw;
  height: 6.67vw;
  background: #F8F6F5;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 0 0);
          clip-path: polygon(0 100%, 100% 100%, 0 0);
}
@media only screen and (min-width: 768px) {
  .contentCard__item::before {
    width: 1.56vw;
    height: 1.56vw;
  }
}
.contentCard__item::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 6.67vw;
  height: 6.67vw;
  background: #F8F6F5;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
          clip-path: polygon(100% 0, 100% 100%, 0 0);
}
@media only screen and (min-width: 768px) {
  .contentCard__item::after {
    width: 1.56vw;
    height: 1.56vw;
  }
}
.contentCard__item-header {
  display: flex;
  align-items: center;
  gap: 5.33vw;
  margin-bottom: 4vw;
}
@media only screen and (min-width: 768px) {
  .contentCard__item-header {
    gap: 1.04vw;
    margin-bottom: 1.04vw;
  }
}
.contentCard__circle {
  width: 21.33vw;
  height: 21.33vw;
  border: 1px solid #D1B45C;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .contentCard__circle {
    width: 4.9vw;
    height: 4.9vw;
  }
}
.contentCard__point-label {
  font-family: "Cormorant Garamond", serif;
  font-size: 3.2vw;
  color: #D1B45C;
  text-transform: uppercase;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .contentCard__point-label {
    font-size: 0.83vw;
  }
}
.contentCard__point-number {
  font-family: "Cormorant Garamond", serif;
  font-size: 7.47vw;
  color: #D1B45C;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .contentCard__point-number {
    font-size: 1.98vw;
  }
}
.contentCard__content {
  flex: 1;
}
.contentCard__item-title {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 4.8vw;
  letter-spacing: 0.05em;
  margin-bottom: 3.2vw;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .contentCard__item-title {
    font-size: clamp(19px, 1.25vw, 1.25vw);
    margin-bottom: 0.78vw;
  }
}
.contentCard__item-text {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.contentCard__item-text p {
  font-size: 4.27vw;
}
@media only screen and (min-width: 768px) {
  .contentCard__item-text p {
    font-size: clamp(16px, 0.94vw, 0.94vw);
  }
}
.contentCard__item-text p:last-child {
  margin-bottom: 0;
}
.contentCard__item-text p + p {
  margin-top: 3.2vw;
}
@media only screen and (min-width: 768px) {
  .contentCard__item-text p + p {
    margin-top: 0.78vw;
  }
}

.card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10.67vw 5.33vw;
}
@media only screen and (min-width: 768px) {
  .card-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.08vw 2.34vw;
    margin: 0 auto;
  }
}

@media only screen and (min-width: 768px) {
  .card {
    display: flex;
    flex-direction: column;
  }
}
.card-image {
  margin-bottom: 5.33vw;
  aspect-ratio: 450/300;
}
@media only screen and (min-width: 768px) {
  .card-image {
    margin-bottom: 1.04vw;
    height: auto;
    flex-shrink: 0;
  }
}
.card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card-title {
  font-size: 4.8vw;
  letter-spacing: 0.05em;
  margin: 0 0 6.67vw;
  line-height: 1.4;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .card-title {
    font-size: clamp(16px, 1.04vw, 1.04vw);
    margin-bottom: 1.3vw;
  }
}
.card-text {
  letter-spacing: 0.05em;
  line-height: 1.7;
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .card-text {
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}

.main-visual {
  position: relative;
  aspect-ratio: 640/1136;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .main-visual {
    aspect-ratio: 1920/1080;
  }
}
.main-visual__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.main-visual__video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 1;
  min-width: 100%;
  min-height: 100%;
}
@media (max-aspect-ratio: 16/9) {
  .main-visual__video {
    width: auto;
    height: 100%;
  }
}
@media (min-aspect-ratio: 16/9) {
  .main-visual__video {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .main-visual__video {
    will-change: transform;
  }
}
.main-visual__video:not([data-loaded=true]) {
  opacity: 0;
  transition: opacity 0.5s ease;
}
.main-visual__video[data-loaded=true] {
  opacity: 1;
}
.main-visual__fallback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: none;
}
.main-visual__fallback img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main-visual__fallback.show {
  display: block;
}
.main-visual__fallback-ie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.main-visual__fallback-ie img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@supports ((-o-object-fit: cover) or (object-fit: cover)) {
  .main-visual__video ~ .main-visual__fallback-ie {
    display: none;
  }
}
.no-video .main-visual__fallback-ie {
  display: block;
  z-index: 1;
}
.main-visual__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
  pointer-events: none;
}
.main-visual__content {
  position: absolute;
  z-index: 2;
  bottom: 13.33vw;
}
@media only screen and (min-width: 768px) {
  .main-visual__content {
    bottom: 3.65vw;
    left: 3.65vw;
    max-width: 39.06vw;
  }
}
.main-visual__title-image {
  display: block;
}
.main-visual__title-image img {
  max-width: 100%;
  height: auto;
  -webkit-animation: fadeInUp 1s ease 0.5s both;
          animation: fadeInUp 1s ease 0.5s both;
}
.main-visual.loading .main-visual__content {
  opacity: 0.7;
}
.main-visual.loaded .main-visual__content {
  opacity: 1;
  transition: opacity 0.5s ease;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.no-video .main-visual__video {
  display: none;
}
.no-video .main-visual__fallback-ie {
  display: block !important;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .main-visual__title-image img {
    -webkit-animation: none;
            animation: none;
  }
  .main-visual__video {
    transition: none;
  }
}
.about {
  position: relative;
  padding-top: 21.33vw;
  padding-bottom: 32vw;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .about {
    padding-top: 7.81vw;
    padding-bottom: 15.63vw;
  }
}
.about__bg-text {
  position: absolute;
  font-family: "Cormorant Garamond", serif;
  font-size: 25.33vw;
  font-weight: 700;
  z-index: -1;
  pointer-events: none;
  white-space: nowrap;
  line-height: 1;
  bottom: -5.33vw;
  right: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .about__bg-text {
    font-size: 15.63vw;
    bottom: -3vw;
    right: 2.6vw;
  }
}
.about__bg-text .highlight {
  color: rgba(209, 180, 92, 0.1);
}
.about__bg-text .normal {
  color: #F8F8F8;
}
.about__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .about__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0 2.6vw;
  }
}
.about__content {
  margin-bottom: 16vw;
}
@media only screen and (min-width: 768px) {
  .about__content {
    text-align: center;
    margin-bottom: 4.17vw;
  }
}
.about__content p {
  font-size: 4.27vw;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .about__content p {
    font-size: clamp(16px, 1.04vw, 1.04vw);
    margin-bottom: 1.3vw;
  }
}
.about__content p:last-child {
  margin-bottom: 0;
}
.about__features {
  display: flex;
  flex-direction: column;
  gap: 8vw;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .about__features {
    flex-direction: row;
    justify-content: center;
    gap: clamp(16px, 1.04vw, 1.04vw);
  }
}
.about__feature-item {
  position: relative;
  width: 53.33vw;
  height: 53.33vw;
  border: 2px solid #D1B45C;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .about__feature-item {
    width: clamp(192px, 12.5vw, 12.5vw);
    height: clamp(192px, 12.5vw, 12.5vw);
    padding: clamp(24px, 1.56vw, 1.56vw);
  }
}
.about__feature-item::before {
  content: "";
  position: absolute;
  top: 2.67vw;
  left: 2.67vw;
  width: 100%;
  height: 100%;
  border: 2px solid #D1B45C;
  border-radius: 50%;
  opacity: 0.3;
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .about__feature-item::before {
    top: 0.52vw;
    left: 0.52vw;
  }
}
.about__feature-label {
  font-family: "Cormorant Garamond", serif;
  font-size: 3.73vw;
  color: #D1B45C;
  text-transform: uppercase;
  margin-bottom: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .about__feature-label {
    font-size: clamp(14px, 0.94vw, 0.94vw);
    margin-bottom: 0.52vw;
  }
}
.about__feature-title {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 6.4vw;
  letter-spacing: 0.15em;
  color: #333333;
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .about__feature-title {
    font-size: clamp(25px, 1.67vw, 1.67vw);
  }
}

.points {
  padding-top: 21.33vw;
  padding-bottom: 32vw;
  background: #F8F6F5;
}
@media only screen and (min-width: 768px) {
  .points {
    padding-top: 7.29vw;
    padding-bottom: 9.27vw;
  }
}
.points__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .points__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0;
  }
}
.points .title-en {
  display: flex;
  justify-content: center;
  align-items: self-end;
}
.points .title-en span {
  padding-bottom: 10px;
}

.hair-removal,
.dentition {
  padding-top: 16vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .hair-removal,
.dentition {
    padding-top: 10.42vw;
    padding-bottom: 12.24vw;
  }
}
.hair-removal__inner,
.dentition__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .hair-removal__inner,
.dentition__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0;
    display: grid;
    grid-template-columns: clamp(350px, 27.08vw, 27.08vw) 1fr;
    gap: 4.69vw;
    align-items: center;
  }
}
.hair-removal__description,
.dentition__description {
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 8vw;
}
@media only screen and (min-width: 768px) {
  .hair-removal__description,
.dentition__description {
    margin-bottom: 2.08vw;
  }
}
.hair-removal__menu-text,
.dentition__menu-text {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.hair-removal__images,
.dentition__images {
  margin-top: 10.67vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .hair-removal__images,
.dentition__images {
    margin-top: 0;
    min-height: 26.04vw;
  }
}
.hair-removal__image,
.dentition__image {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .hair-removal__image,
.dentition__image {
    position: absolute;
  }
}
.hair-removal__image:not(:last-child),
.dentition__image:not(:last-child) {
  margin-bottom: 4vw;
}
@media only screen and (min-width: 768px) {
  .hair-removal__image:not(:last-child),
.dentition__image:not(:last-child) {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .hair-removal__image--hand, .hair-removal__image--1,
.dentition__image--hand,
.dentition__image--1 {
    width: 23.96vw;
    height: 23.96vw;
    bottom: 110%;
    right: 0;
    z-index: 3;
    margin-right: 20%;
  }
}
@media (max-width: 768px) {
  .hair-removal__image--hand, .hair-removal__image--1,
.dentition__image--hand,
.dentition__image--1 {
    aspect-ratio: 336/210;
  }
}
@media only screen and (min-width: 768px) {
  .hair-removal__image--treatment, .hair-removal__image--2,
.dentition__image--treatment,
.dentition__image--2 {
    width: 57.29vw;
    height: 32.29vw;
    top: 0;
    right: 0;
    z-index: 1;
    max-width: 100%;
    margin-right: -8.6%;
  }
}
@media only screen and (min-width: 768px) {
  .hair-removal__image--room-small, .hair-removal__image--3,
.dentition__image--room-small,
.dentition__image--3 {
    width: 17.5vw;
    height: 10.94vw;
    top: 132%;
    right: 0;
    z-index: 2;
  }
}
.hair-removal__image img,
.dentition__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767.9px) {
  .hair-removal__images,
.dentition__images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.67vw;
    margin-top: 8vw;
  }
  .hair-removal__image--hand, .hair-removal__image--1,
.dentition__image--hand,
.dentition__image--1 {
    grid-column: 1/-1;
  }
  .hair-removal__image--treatment, .hair-removal__image--2,
.dentition__image--treatment,
.dentition__image--2 {
    grid-column: 1/-1;
  }
  .hair-removal__image--room-small, .hair-removal__image--room-large, .hair-removal__image--3,
.dentition__image--room-small,
.dentition__image--room-large,
.dentition__image--3 {
    grid-column: 1/-1;
  }
}

@media only screen and (min-width: 768px) {
  .dentition {
    padding-bottom: 18.75vw;
  }
}

.whitening {
  padding-top: 0;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .whitening {
    padding-top: 12.24vw;
    padding-bottom: 10.42vw;
  }
}
.whitening__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .whitening__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0;
    display: grid;
    grid-template-columns: 1fr clamp(350px, 27.08vw, 27.08vw);
    gap: 4.69vw;
    align-items: center;
  }
}
@media (max-width: 768px) {
  .whitening__inner {
    display: flex;
    flex-direction: column-reverse;
  }
}
.whitening__images {
  margin-top: 10.67vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .whitening__images {
    margin-top: 0;
    min-height: 26.04vw;
    order: 1;
  }
}
.whitening__image {
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .whitening__image {
    position: absolute;
  }
}
.whitening__image:not(:last-child) {
  margin-bottom: 4vw;
}
@media only screen and (min-width: 768px) {
  .whitening__image:not(:last-child) {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .whitening__image--room-top {
    width: 18.75vw;
    height: 11.46vw;
    bottom: 108%;
    left: 0;
    z-index: 3;
    margin-left: 5%;
  }
}
@media only screen and (min-width: 768px) {
  .whitening__image--treatment {
    width: 57.29vw;
    height: 28.13vw;
    top: 0;
    left: 0;
    z-index: 1;
    max-width: 100%;
    margin-left: -10.8%;
  }
}
@media only screen and (min-width: 768px) {
  .whitening__image--detail {
    width: 28.13vw;
    height: 18.75vw;
    top: 117%;
    left: 0;
    z-index: 2;
    margin-left: -5%;
  }
}
.whitening__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .whitening__content {
    order: 2;
  }
}
.whitening__description {
  letter-spacing: 0.05em;
  margin-bottom: 8vw;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .whitening__description {
    margin-bottom: 2.08vw;
  }
}
.whitening__menu-text {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (max-width: 767.9px) {
  .whitening__images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.67vw;
    margin-top: 8vw;
  }
  .whitening__image--room-top {
    grid-column: 1/-1;
  }
  .whitening__image--treatment {
    grid-column: 1/-1;
  }
  .whitening__image--detail, .whitening__image--room-bottom {
    grid-column: 1/-1;
  }
}

.flow {
  padding-top: 21.33vw;
  padding-bottom: 26.67vw;
  background: #F8F6F5;
}
@media only screen and (min-width: 768px) {
  .flow {
    padding-top: 8.33vw;
    padding-bottom: 7.81vw;
  }
}
.flow__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .flow__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0;
    text-align: center;
  }
}
.flow__description {
  letter-spacing: 0.05em;
  margin-bottom: 8vw;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .flow__description {
    margin-bottom: 2.08vw;
    text-align: center;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.gallery__item {
  overflow: hidden;
  aspect-ratio: 480/320;
}
@media only screen and (min-width: 768px) {
  .gallery__item {
    width: 100%;
    height: 16.67vw;
  }
}
.gallery__image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.news {
  padding-top: 16vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .news {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
.news__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .news__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0;
    display: flex;
    gap: 5.21vw;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .news__sidebar {
    min-width: 9.38vw;
    flex-shrink: 0;
  }
}
.news__nav {
  display: flex;
  flex-direction: column;
  gap: 4vw;
}
@media only screen and (min-width: 768px) {
  .news__nav {
    gap: 1.04vw;
  }
}
.news__content {
  flex: 1;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .news__content {
    margin-top: 0;
    max-width: 60.42vw;
  }
}
.news__list {
  display: flex;
  flex-direction: column;
}
.news__item {
  display: flex;
  justify-content: space-between;
  padding: 5.33vw 0;
  border-bottom: 1px solid #EEEEEE;
  position: relative;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .news__item {
    padding: 1.56vw 0;
  }
}
.news__item:first-child {
  border-top: 1px solid #EEEEEE;
}
.news__item:hover {
  background: rgba(241, 236, 226, 0.3);
}
.news__item-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4vw;
}
@media only screen and (min-width: 768px) {
  .news__item-content {
    flex-direction: row;
    align-items: flex-start;
    align-items: center;
    gap: 1.56vw;
  }
}
.news__date {
  font-family: "Cormorant Garamond", serif;
  font-size: 4.27vw;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .news__date {
    font-size: clamp(16px, 1.04vw, 1.04vw);
    min-width: 6.25vw;
  }
}
.news__category {
  font-size: 3.2vw;
  color: #FFFFFF;
  background: #D1B45C;
  padding: 1.07vw 2.13vw;
  display: inline-block;
  flex-shrink: 0;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .news__category {
    font-size: clamp(11px, 0.73vw, 0.73vw);
    padding: 0.31vw 0.26vw;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 6.25vw;
    max-width: 6.25vw;
  }
}
.news__title {
  letter-spacing: 0.05em;
  margin: 0;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .news__title {
    margin-right: clamp(30px, 1.56vw, 1.56vw);
    flex: 1;
  }
}
.news__item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8vw;
  height: 8vw;
  flex-shrink: 0;
  margin-top: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .news__item-link {
    width: clamp(32px, 2.08vw, 2.08vw);
    height: clamp(32px, 2.08vw, 2.08vw);
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.news__item-link:hover {
  opacity: 1;
}
.news__item-arrow {
  width: 4.27vw;
  height: 4.27vw;
  transition: transform 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .news__item-arrow {
    width: clamp(17px, 1.15vw, 1.15vw);
    height: clamp(17px, 1.15vw, 1.15vw);
  }
}
@media only screen and (max-width: 767.9px) {
  .news__item-content {
    gap: 2.67vw;
  }
  .news__category {
    align-self: flex-start;
    margin-bottom: 1.33vw;
  }
  .news__title {
    margin-bottom: 2.67vw;
  }
}

.qa {
  position: relative;
  padding-top: 16vw;
  padding-bottom: 16vw;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .qa {
    padding-top: 5.21vw;
    padding-bottom: 5.21vw;
  }
}
.qa::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("./images/qa-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}
.qa__inner {
  position: relative;
  z-index: 2;
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .qa__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0;
    text-align: center;
  }
}
.qa__icon {
  display: flex;
  justify-content: center;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .qa__icon {
    margin-bottom: 1.56vw;
  }
}
.qa__icon-image {
  width: 16.53vw;
  height: 13.33vw;
}
@media only screen and (min-width: 768px) {
  .qa__icon-image {
    width: 3.23vw;
    height: 2.6vw;
  }
}
.qa__description {
  letter-spacing: 0.05em;
  margin-bottom: 8vw;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .qa__description {
    margin-bottom: 2.08vw;
    text-align: center;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}
.qa .title_header {
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .qa .title_header {
    margin-bottom: 2.6vw;
  }
}

.salon-info {
  padding-top: 21.33vw;
  padding-bottom: 26.67vw;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .salon-info {
    padding-top: 7.29vw;
    padding-bottom: 7.81vw;
  }
}
.salon-info__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .salon-info__inner {
    max-width: clamp(90%, 75vw, 75vw);
    padding: 0;
  }
}
.salon-info__header {
  margin-bottom: 13.33vw;
}
@media only screen and (min-width: 768px) {
  .salon-info__header {
    text-align: center;
    margin-bottom: 4.17vw;
  }
}
.salon-info__description {
  letter-spacing: 0.05em;
  margin-bottom: 0;
  line-height: 1.8;
}
@media only screen and (min-width: 768px) {
  .salon-info__content {
    display: flex;
    gap: 5.21vw;
    align-items: flex-start;
  }
}
.salon-info__table {
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .salon-info__table {
    max-width: clamp(400px, 26.04vw, 26.04vw);
    flex-shrink: 0;
    margin-bottom: 0;
  }
}
.salon-info__table-element {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.salon-info__row {
  border-bottom: 1px solid #EEEEEE;
}
.salon-info__row:first-child {
  border-top: 1px solid #EEEEEE;
}
.salon-info__label {
  letter-spacing: 0.05em;
  font-weight: 600;
  padding: 5.33vw 0;
  vertical-align: top;
  border: none;
  width: 30%;
}
@media only screen and (min-width: 768px) {
  .salon-info__label {
    padding: 1.82vw 0;
    width: 15%;
    min-width: 4.17vw;
  }
}
.salon-info__value {
  letter-spacing: 0.05em;
  line-height: 1.6;
  padding: 5.33vw 0;
  vertical-align: top;
  border: none;
}
@media only screen and (min-width: 768px) {
  .salon-info__value {
    padding: 1.82vw 0;
    padding-left: 1.56vw;
  }
}
.salon-info__value a {
  text-decoration: none;
}
.salon-info__value a:hover {
  opacity: 0.7;
}
.salon-info__map-button {
  display: inline-flex;
  align-items: center;
  gap: 2.13vw;
  background: #D1B45C;
  text-decoration: none;
  padding: 1.6vw 3.2vw;
  margin-top: 2.67vw;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .salon-info__map-button {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(16px, 1.04vw, 1.04vw);
    font-weight: 600;
    padding: 0.52vw 0.83vw 0.42vw 0.78vw;
    gap: 0.52vw;
    margin-top: 0.78vw;
    justify-content: center;
  }
}
.salon-info__map-button:hover {
  opacity: 0.8;
}
.salon-info__map-icon {
  width: 4.27vw;
  height: 4.27vw;
}
@media only screen and (min-width: 768px) {
  .salon-info__map-icon {
    width: clamp(14px, 0.94vw, 0.94vw);
    height: clamp(14px, 0.94vw, 0.94vw);
  }
}
.salon-info__map-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 3.73vw;
  font-weight: 600;
  color: #FFFFFF;
}
@media only screen and (min-width: 768px) {
  .salon-info__map-text {
    font-size: clamp(16px, 1.04vw, 1.04vw);
  }
}
.salon-info__sns {
  display: flex;
  gap: 2.13vw;
  margin-top: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .salon-info__sns {
    gap: 0.52vw;
    margin-top: 0.52vw;
  }
}
.salon-info__sns-link {
  display: inline-block;
  transition: opacity 0.3s ease;
}
.salon-info__sns-link:hover {
  opacity: 0.7;
}
.salon-info__sns-icon--facebook {
  width: 4.8vw;
  height: 4.8vw;
}
@media only screen and (min-width: 768px) {
  .salon-info__sns-icon--facebook {
    width: clamp(17px, 1.15vw, 1.15vw);
    height: clamp(17px, 1.15vw, 1.15vw);
  }
}
.salon-info__sns-icon--x {
  width: 4.27vw;
  height: 4.27vw;
}
@media only screen and (min-width: 768px) {
  .salon-info__sns-icon--x {
    width: clamp(16px, 1.04vw, 1.04vw);
    height: clamp(16px, 1.04vw, 1.04vw);
  }
}
.salon-info .btn-default {
  margin-top: 8vw;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .salon-info .btn-default {
    margin-top: 2.6vw;
  }
}
.salon-info__map {
  width: 100%;
  height: 80vw;
}
@media only screen and (min-width: 768px) {
  .salon-info__map {
    position: relative;
    right: 0;
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    max-width: none;
    height: 30.52vw;
    z-index: 1;
  }
}
.salon-info__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.contact {
  padding: 21.33vw 0;
  background: #F8F6F5;
}
@media only screen and (min-width: 768px) {
  .contact {
    padding: 7.81vw 0;
  }
}
.contact__title {
  text-align: center;
  margin-bottom: 8vw;
}
@media only screen and (min-width: 768px) {
  .contact__title {
    margin-bottom: 2.6vw;
  }
}
.contact__logo {
  width: 24vw;
  height: 14.93vw;
}
@media only screen and (min-width: 768px) {
  .contact__logo {
    width: 5.83vw;
    height: 3.65vw;
  }
}
.contact__description {
  font-size: 4.8vw;
  line-height: 1.75;
  letter-spacing: 0.125em;
  text-align: center;
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .contact__description {
    font-size: clamp(18px, 1.46vw, 1.46vw);
    margin-bottom: 3.13vw;
  }
}
.contact .contact-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.6vw;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .contact .contact-header {
    gap: 0.42vw;
    margin-bottom: 1.3vw;
  }
}
.contact .contact-header__title {
  font-size: 4.8vw;
  font-weight: 600;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .contact .contact-header__title {
    font-size: clamp(19px, 1.25vw, 1.25vw);
  }
}
.contact .contact-header__icon--phone {
  width: 3.2vw;
  height: 4.8vw;
}
@media only screen and (min-width: 768px) {
  .contact .contact-header__icon--phone {
    width: clamp(12px, 0.83vw, 0.83vw);
    height: clamp(18px, 1.2vw, 1.2vw);
  }
}
.contact .contact-header__icon--mail {
  width: 5.87vw;
  height: 4.27vw;
  margin-right: 0.53vw;
}
@media only screen and (min-width: 768px) {
  .contact .contact-header__icon--mail {
    width: 1.09vw;
    height: 0.83vw;
    margin-right: 0.1vw;
    width: clamp(16px, 1.09vw, 1.09vw);
    height: clamp(12px, 0.83vw, 0.83vw);
    margin-right: clamp(2px, 0.1vw, 0.1vw);
  }
}
.contact .contact-header__icon--line {
  width: 4.27vw;
  height: 4vw;
  margin-right: 0.53vw;
}
@media only screen and (min-width: 768px) {
  .contact .contact-header__icon--line {
    width: 1.09vw;
    height: 1.04vw;
    margin-right: 0.1vw;
    width: clamp(16px, 1.09vw, 1.09vw);
    height: clamp(16px, 1.04vw, 1.04vw);
    margin-right: clamp(2px, 0.1vw, 0.1vw);
  }
}
.contact__methods {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media only screen and (min-width: 768px) {
  .contact__methods {
    flex-direction: row;
    gap: 4.17vw;
    justify-content: center;
  }
}
.contact__left {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media only screen and (min-width: 768px) {
  .contact__left {
    width: clamp(300px, 35.42vw, 35.42vw);
  }
}
.contact__right {
  width: 100%;
  display: flex;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .contact__right {
    width: clamp(300px, 35.42vw, 35.42vw);
  }
}
.contact__item {
  border-bottom: 1px solid #CCCCCC;
  padding: 8vw 5.33vw;
}
@media only screen and (min-width: 768px) {
  .contact__item {
    padding: 2.6vw 0;
    width: 100%;
    border-top: 1px solid #CCCCCC;
  }
}
.contact__item:not(:last-child) {
  border-bottom: none;
}
.contact__phone-number {
  display: flex;
  flex-direction: row;
  gap: 1.33vw;
  align-items: baseline;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .contact__phone-number {
    justify-content: flex-start;
    gap: 0.52vw;
  }
}
.contact__phone-link {
  font-size: 7.47vw;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .contact__phone-link {
    font-size: clamp(32px, 2.5vw, 2.5vw);
  }
}
.contact__phone-link:hover {
  opacity: 0.7;
}
.contact__phone-note {
  font-size: 3.2vw;
}
@media only screen and (min-width: 768px) {
  .contact__phone-note {
    font-size: clamp(12px, 0.83vw, 0.83vw);
  }
}
.contact__line-description {
  font-size: 3.73vw;
  letter-spacing: 0.05em;
  margin-bottom: 6.67vw;
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .contact__line-description {
    font-size: clamp(14px, 1.04vw, 1.04vw);
    margin-bottom: 2.08vw;
  }
}
.contact__line-button {
  display: inline-flex;
  align-items: center;
  width: 74.67vw;
  height: 16vw;
  background: #06C755;
  color: white;
  text-decoration: none;
  padding: 4vw 0 4vw 7.47vw;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .contact__line-button {
    width: 18.75vw;
    height: 4.17vw;
    padding: 1.04vw 0 1.04vw 1.93vw;
  }
}
.contact__line-button:hover {
  opacity: 0.8;
}
.contact__line-button-icon {
  width: 8vw;
  height: 7.47vw;
  margin-right: 3.2vw;
}
@media only screen and (min-width: 768px) {
  .contact__line-button-icon {
    width: clamp(22px, 2.08vw, 2.08vw);
    height: clamp(20px, 1.98vw, 1.98vw);
    margin-right: clamp(12px, 0.78vw, 0.78vw);
  }
}
.contact__line-button-text {
  font-size: 4.8vw;
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .contact__line-button-text {
    font-size: clamp(16px, 1.25vw, 1.25vw);
  }
}

.sec-about {
  padding-top: 21.33vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-about {
    padding-top: 7.81vw;
    padding-bottom: 6.77vw;
  }
}
@media only screen and (min-width: 768px) {
  .sec-about__content {
    text-align: center;
    margin-bottom: 4.17vw;
  }
}
.sec-about__content p {
  font-size: 4.27vw;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-about__content p {
    font-size: clamp(16px, 1.04vw, 1.04vw);
    margin-bottom: 1.3vw;
  }
}
.sec-about__content p:last-child {
  margin-bottom: 0;
}

.sec-features,
.sec-merit {
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-features,
.sec-merit {
    padding-bottom: 6.77vw;
  }
}

@media only screen and (min-width: 768px) {
  .sec-machines__inner {
    display: flex;
    gap: 1.56vw;
    align-items: flex-start;
  }
}
.sec-machines__content {
  padding-top: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines__content {
    padding-top: 7.29vw;
    padding-bottom: 3.13vw;
    max-width: clamp(400px, 27.92vw, 27.92vw);
    flex-shrink: 0;
  }
}
.sec-machines__description {
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines__description {
    margin-bottom: 0.78vw;
  }
}
.sec-machines__item-header {
  display: flex;
  align-items: baseline;
  gap: 1.33vw;
  margin-bottom: 2.13vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .sec-machines__item-header {
    gap: 0.26vw;
    margin-bottom: 0.52vw;
  }
}
.sec-machines__label {
  font-family: "Cormorant Garamond", serif;
  color: #D1B45C;
  font-size: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines__label {
    font-size: clamp(12px, 0.83vw, 0.83vw);
  }
}
.sec-machines__number {
  font-family: "Cormorant Garamond", serif;
  color: #D1B45C;
  font-size: 9.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines__number {
    font-size: clamp(28px, 1.88vw, 1.88vw);
  }
}
.sec-machines__line {
  width: 4.27vw;
  height: 1px;
  background: #D1B45C;
  margin-bottom: 4vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines__line {
    width: 1.04vw;
    margin-bottom: 1.04vw;
  }
}
.sec-machines__text {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.sec-machines__text p {
  margin-bottom: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines__text p {
    margin-bottom: 0.63vw;
  }
}
.sec-machines__text p:last-child {
  margin-bottom: 0;
}
.sec-machines__image {
  width: 100%;
  aspect-ratio: 1100/750;
}
@media only screen and (min-width: 768px) {
  .sec-machines__image {
    position: relative;
    right: 0;
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    max-width: none;
    height: 39.06vw;
    z-index: 1;
  }
}
.sec-machines__image img {
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 767.9px) {
  .sec-machines__image {
    margin-top: 8vw;
    aspect-ratio: 1100/450;
  }
}

.sec-machines-detail {
  padding-top: 8vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail {
    padding-top: 4.69vw;
    padding-bottom: 7.29vw;
  }
}
.sec-machines-detail__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail__inner {
    max-width: 75vw;
    padding: 0;
  }
}
.sec-machines-detail__block:not(:last-child) {
  margin-bottom: 8vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail__block:not(:last-child) {
    margin-bottom: 4.69vw;
  }
}
.sec-machines-detail__item-header {
  display: flex;
  align-items: baseline;
  gap: 1.33vw;
  margin-bottom: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail__item-header {
    gap: 0.26vw;
    margin-bottom: 0.52vw;
  }
}
.sec-machines-detail__description {
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 8vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail__description {
    margin-bottom: 1.56vw;
  }
}
.sec-machines-detail__time-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.67vw;
  margin-bottom: 8vw;
  list-style: none;
  margin-left: 0;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail__time-list {
    grid-template-columns: repeat(3, -webkit-max-content);
    grid-template-columns: repeat(3, max-content);
    gap: 0.26vw 2.08vw;
    margin-bottom: 1.56vw;
  }
}
.sec-machines-detail__time-item {
  display: flex;
  align-items: center;
  gap: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail__time-item {
    gap: 0.52vw;
  }
}
.sec-machines-detail__time-text {
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.sec-machines-detail__note {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.sec-machines-detail__bottom-note {
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .sec-machines-detail__bottom-note {
    margin-top: 2.08vw;
  }
}

@media only screen and (min-width: 768px) {
  .sec-intro-cource__flex {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
}
.sec-intro-cource__block {
  position: relative;
  min-height: 160vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 21.33vw 4vw;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .sec-intro-cource__block {
    text-align: center;
    min-height: 31.25vw;
    padding: 5.21vw 2.08vw;
  }
}
.sec-intro-cource__block:not(:last-child) {
  margin-bottom: 0;
}
.sec-intro-cource__block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}
.sec-intro-cource__block--introduction::before {
  background-image: url("./images/introduction-bg.jpg");
}
.sec-intro-cource__block--cource::before {
  background-image: url("./images/cource-bg.jpg");
}
.sec-intro-cource__content {
  position: relative;
  z-index: 3;
  color: #FFFFFF;
  max-width: 100%;
}
.sec-intro-cource__description {
  letter-spacing: 0.035em;
  line-height: 1.8;
  margin-bottom: 10.67vw;
  font-size: 4.27vw;
}
@media only screen and (min-width: 768px) {
  .sec-intro-cource__description {
    font-size: clamp(14px, 0.83vw, 0.83vw);
    margin-bottom: 2.08vw;
  }
}
.sec-intro-cource__description p {
  margin-bottom: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-intro-cource__description p {
    margin-bottom: 0.63vw;
  }
}
.sec-intro-cource__description p:last-child {
  margin-bottom: 0;
}
.sec-intro-cource__button-area .btn-default {
  margin: 0 auto;
}
.sec-intro-cource--whitening .sec-intro-cource__block--introduction::before {
  background-image: url("./images/introduction-bg-w.jpg");
}
.sec-intro-cource--whitening .sec-intro-cource__block--cource::before {
  background-image: url("./images/cource-bg-w.jpg");
}

.teeth-causes {
  display: flex;
  flex-direction: column;
  gap: 2.67vw;
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .teeth-causes {
    margin-bottom: 2.08vw;
    gap: 0.52vw;
  }
}
.teeth-causes__item {
  display: flex;
  align-items: flex-start;
  gap: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .teeth-causes__item {
    gap: 0.52vw;
  }
}
.teeth-causes__label {
  background: #D1B45C;
  color: #FFFFFF;
  padding: 0.53vw 0.8vw;
  line-height: 1.5;
  flex-shrink: 0;
  text-align: center;
  width: 32vw;
  min-width: 32vw;
}
@media only screen and (min-width: 768px) {
  .teeth-causes__label {
    padding: 0.1vw 0.16vw;
    width: 7.29vw;
    min-width: 7.29vw;
  }
}
.teeth-causes__text {
  letter-spacing: 0.05em;
  line-height: 1.6;
  flex: 1;
}
.teeth-structure {
  display: flex;
  flex-direction: column;
  gap: 2.67vw;
}
.teeth-structure__title {
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: 4vw;
}
@media only screen and (min-width: 768px) {
  .teeth-structure__title {
    margin-bottom: 1.04vw;
  }
}
@media only screen and (min-width: 768px) {
  .teeth-structure {
    gap: 0.52vw;
  }
}
.teeth-structure__item {
  display: flex;
  align-items: flex-start;
  gap: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .teeth-structure__item {
    gap: 0.52vw;
  }
}
.teeth-structure__label {
  background: #D1B45C;
  color: #FFFFFF;
  padding: 0.53vw 0.8vw;
  flex-shrink: 0;
  text-align: center;
  width: 26.67vw;
  min-width: 26.67vw;
}
@media only screen and (min-width: 768px) {
  .teeth-structure__label {
    padding: 0.1vw 0.16vw;
    width: 5.73vw;
    min-width: 5.73vw;
  }
}
.teeth-structure__text {
  letter-spacing: 0.05em;
  line-height: 1.6;
  flex: 1;
}
.whitening-table {
  max-width: 75vw;
  margin: 0 auto;
}
.whitening-table__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.whitening-table__header {
  background: #D1B45C;
}
.whitening-table__header-cell {
  color: #FFFFFF;
  text-align: center;
  padding: 9.33vw 4vw 8vw;
  border-right: 1px solid #EEEEEE;
  font-weight: normal;
}
@media only screen and (min-width: 768px) {
  .whitening-table__header-cell {
    padding: 1.82vw 1.04vw 1.56vw;
  }
}
.whitening-table__header-cell:nth-child(1) {
  width: 25%;
}
.whitening-table__header-cell:nth-child(2) {
  width: 37.5%;
}
.whitening-table__header-cell:nth-child(3) {
  width: 37.5%;
  border-right: none;
}
.whitening-table__row {
  border-bottom: 1px solid #EEEEEE;
}
.whitening-table__row:last-child {
  border-bottom: none;
}
.whitening-table__label {
  background: #F8F8F8;
  text-align: center;
  padding: 9.33vw 4vw 8vw;
  border-right: 1px solid #EEEEEE;
  font-weight: normal;
  width: 25%;
}
@media only screen and (min-width: 768px) {
  .whitening-table__label {
    padding: 1.82vw 1.04vw 1.56vw;
  }
}
.whitening-table__cell {
  padding: 9.33vw 4vw 8vw;
  border-right: 1px solid #EEEEEE;
  text-align: center;
  line-height: 1.6;
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .whitening-table__cell {
    padding: 1.82vw 1.04vw 1.56vw;
  }
}
.whitening-table__cell:nth-child(2) {
  width: 37.5%;
}
.whitening-table__cell:nth-child(3) {
  width: 37.5%;
  border-right: none;
}

.sec-distinction {
  background: #F8F6F5;
  padding-top: 21.33vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-distinction {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}

.whitening-table__wrapper {
  overflow-x: auto;
}
@media only screen and (min-width: 768px) {
  .whitening-table__wrapper {
    overflow-x: visible;
  }
}
.whitening-table__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #EEEEEE;
  border-left: 1px solid #EEEEEE;
  border-right: 1px solid #EEEEEE;
  overflow: hidden;
  min-width: 1440px;
  background: #fff;
  table-layout: fixed;
}
@media only screen and (min-width: 768px) {
  .whitening-table__table {
    min-width: auto;
  }
}
.whitening-table__table colgroup col:first-child {
  width: 300px;
}
.whitening-table__table colgroup col {
  width: auto;
}
.whitening-table__header-row {
  background: #D1B45C;
}
.whitening-table__header-cell {
  padding: 4vw 2.67vw;
  text-align: center;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  color: #FFFFFF;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
@media only screen and (min-width: 768px) {
  .whitening-table__header-cell {
    padding: 1.04vw 0.78vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.whitening-table__header-cell:last-child {
  border-right: none;
}
.whitening-table__label {
  padding: 4vw 2.67vw;
  text-align: center;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  color: #333333;
  border-right: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  background: #f8f8f8;
  vertical-align: middle;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .whitening-table__label {
    padding: 1.56vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.whitening-table__cell {
  padding: 4vw 1.33vw;
  text-align: center;
  font-size: 3.73vw;
  font-weight: 500;
  color: #333333;
  border-right: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  vertical-align: middle;
}
@media only screen and (min-width: 768px) {
  .whitening-table__cell {
    padding: 1.04vw 0.52vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.whitening-table__cell:last-child {
  border-right: none;
}
.whitening-table .tax-included {
  font-size: 3.73vw;
}
@media only screen and (min-width: 768px) {
  .whitening-table .tax-included {
    font-size: clamp(11px, 0.73vw, 0.73vw);
  }
}
.whitening-table .price-hosoku {
  font-size: 3.73vw;
}
@media only screen and (min-width: 768px) {
  .whitening-table .price-hosoku {
    font-size: clamp(11px, 0.73vw, 0.73vw);
  }
}

.whitening-menu {
  padding-top: 32vw;
  padding-bottom: 32vw;
}
@media only screen and (min-width: 768px) {
  .whitening-menu {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
.whitening-menu__inner {
  text-align: center;
}
.sec-reason {
  padding-top: 21.33vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-reason {
    padding-top: 7.81vw;
    padding-bottom: 6.77vw;
  }
}
@media only screen and (min-width: 768px) {
  .sec-reason__content {
    text-align: center;
    margin-bottom: 4.17vw;
  }
}
.sec-reason__content p {
  font-size: 4.27vw;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-reason__content p {
    font-size: clamp(16px, 1.04vw, 1.04vw);
    margin-bottom: 1.3vw;
  }
}
.sec-reason__content p:last-child {
  margin-bottom: 0;
}

.removal-menu {
  padding-top: 32vw;
  padding-bottom: 32vw;
  background-color: #F8F6F5;
}
@media only screen and (min-width: 768px) {
  .removal-menu {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
.removal-menu__inner {
  text-align: center;
}
.removal-menu--w {
  background-color: #FFF;
}

.pricing-cards {
  display: flex;
  flex-direction: column;
  margin-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .pricing-cards {
    flex-direction: row;
    justify-content: center;
    margin-bottom: 5.21vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.pricing-cards__item {
  text-align: center;
  position: relative;
  padding-bottom: 6.67vw;
  padding-top: 6.67vw;
  border-bottom: 1px solid #CCCCCC;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__item {
    padding-bottom: 0;
    padding-top: 0;
    border-bottom: none;
  }
}
@media only screen and (min-width: 768px) {
  .pricing-cards__item {
    flex: 1;
    width: 33.3333333333%;
  }
}
.pricing-cards__item::before {
  display: none;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__item::before {
    display: block;
    position: absolute;
    content: "";
    width: 1px;
    height: 3.44vw;
    background: #CCCCCC;
    top: 50%;
    transform: translateY(-50%);
    min-height: 52px;
  }
}
.pricing-cards__item:last-child {
  position: relative;
}
.pricing-cards__item:last-child::after {
  display: none;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__item:last-child::after {
    display: block;
    position: absolute;
    content: "";
    width: 1px;
    height: 3.44vw;
    background: #CCCCCC;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    min-height: 52px;
  }
}
.pricing-cards__label {
  font-size: 4.27vw;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__label {
    font-size: clamp(16px, 1.04vw, 1.04vw);
    line-height: 1;
  }
}
.pricing-cards__price-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pricing-cards__price {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__price {
    line-height: 1;
  }
}
.pricing-cards__currency {
  font-family: "Cormorant Garamond", serif;
  font-size: 11.47vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__currency {
    font-size: clamp(43px, 2.81vw, 2.81vw);
  }
}
.pricing-cards__amount {
  font-family: "Cormorant Garamond", serif;
  font-size: 13.6vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__amount {
    font-size: clamp(51px, 3.33vw, 3.33vw);
  }
}
.pricing-cards__tax {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.47vw;
  font-weight: normal;
  letter-spacing: 0.05em;
  margin-top: 20px;
  margin-left: 2px;
}
@media only screen and (min-width: 768px) {
  .pricing-cards__tax {
    font-size: clamp(13px, 0.83vw, 0.83vw);
  }
}

.button-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.67vw;
  justify-content: center;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .button-grid {
    gap: 0.52vw;
    max-width: 46.35vw;
    margin-left: auto;
    margin-right: auto;
  }
}

.menu-button {
  width: 37.33vw;
  height: 12.27vw;
  background-color: #D1B45C;
  border: none;
  border-radius: 9999px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .menu-button {
    width: 7.29vw;
    height: 2.4vw;
  }
}

.price-menu__special-box {
  position: relative;
  background: #F8F6F5;
  padding: 10.67vw 5.33vw;
  margin-top: 16vw;
  padding-top: 10.67vw;
  padding-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .price-menu__special-box {
    padding: 2.6vw 2.08vw;
    margin-top: 4.17vw;
    padding-top: 4.69vw;
    padding-bottom: 4.69vw;
  }
}
.price-menu__special-box::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6.67vw;
  height: 6.67vw;
  background: #fff;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 0 0);
          clip-path: polygon(0 100%, 100% 100%, 0 0);
}
@media only screen and (min-width: 768px) {
  .price-menu__special-box::before {
    width: 1.56vw;
    height: 1.56vw;
  }
}
.price-menu__special-box::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 6.67vw;
  height: 6.67vw;
  background: #fff;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
          clip-path: polygon(100% 0, 100% 100%, 0 0);
}
@media only screen and (min-width: 768px) {
  .price-menu__special-box::after {
    width: 1.56vw;
    height: 1.56vw;
  }
}
.price-menu__special-box--w {
  background: #fff;
}
.price-menu__special-box--w::before {
  background: #F8F6F5;
}
.price-menu__special-box--w::after {
  background: #F8F6F5;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
          clip-path: polygon(100% 0, 100% 100%, 0 0);
}
.price-menu__special-text {
  font-size: 3.73vw;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .price-menu__special-text {
    font-size: clamp(11px, 0.73vw, 0.73vw);
    margin-bottom: 1.56vw;
  }
}
.price-menu__special-price {
  display: flex;
  align-items: center;
  gap: 2.67vw;
  flex-direction: row;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .price-menu__special-price {
    gap: 1.04vw;
  }
}
.price-menu__special-label {
  font-size: 4.8vw;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .price-menu__special-label {
    font-size: clamp(14px, 0.94vw, 0.94vw);
  }
}
.price-menu__special-value {
  font-family: "Cormorant Garamond", serif;
  font-size: 8.8vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .price-menu__special-value {
    font-size: clamp(33px, 2.19vw, 2.19vw);
  }
}
.price-menu__tax {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 2.93vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .price-menu__tax {
    font-size: clamp(11px, 0.73vw, 0.73vw);
  }
}

.price-table {
  margin: 0 auto;
  margin-top: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .price-table {
    margin-top: 7.81vw;
  }
}

.price-table__wrapper {
  overflow-x: auto;
}
@media only screen and (min-width: 768px) {
  .price-table__wrapper {
    overflow-x: visible;
  }
}
.price-table__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #EEEEEE;
  border-left: 1px solid #EEEEEE;
  border-right: 1px solid #EEEEEE;
  overflow: hidden;
  min-width: 1440px;
  background: #fff;
  table-layout: fixed;
}
@media only screen and (min-width: 768px) {
  .price-table__table {
    min-width: auto;
  }
}
.price-table__table colgroup col:first-child {
  width: 300px;
}
.price-table__table colgroup col {
  width: auto;
}
.price-table__header-row {
  background: #D1B45C;
}
.price-table__header-cell {
  padding: 4vw 2.67vw;
  text-align: center;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  color: #FFFFFF;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
@media only screen and (min-width: 768px) {
  .price-table__header-cell {
    padding: 1.04vw 0.78vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.price-table__header-cell:last-child {
  border-right: none;
}
.price-table__label {
  padding: 4vw 2.67vw;
  text-align: center;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  color: #333333;
  border-right: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  background: #f8f8f8;
  vertical-align: middle;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .price-table__label {
    padding: 1.56vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.price-table__cell {
  padding: 4vw 1.33vw;
  text-align: center;
  font-size: 3.73vw;
  font-weight: 500;
  color: #333333;
  border-right: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  vertical-align: middle;
}
@media only screen and (min-width: 768px) {
  .price-table__cell {
    padding: 1.04vw 0.52vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.price-table__cell:last-child {
  border-right: none;
}
.price-table .tax-included {
  font-size: 3.73vw;
}
@media only screen and (min-width: 768px) {
  .price-table .tax-included {
    font-size: clamp(11px, 0.73vw, 0.73vw);
  }
}
.price-table .price-hosoku {
  font-size: 3.73vw;
}
@media only screen and (min-width: 768px) {
  .price-table .price-hosoku {
    font-size: clamp(11px, 0.73vw, 0.73vw);
  }
}

.esthetic-loan {
  text-align: left;
  margin-top: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan {
    margin-top: 7.81vw;
  }
}
.esthetic-loan__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5.33vw;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.04vw;
    margin-top: 2.08vw;
  }
}
.esthetic-loan__card {
  position: relative;
  background: #F8F6F5;
  padding: 13.33vw 13.33vw;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__card {
    padding: 2.6vw 2.6vw;
  }
}
.esthetic-loan__card::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6.67vw;
  height: 6.67vw;
  background: #fff;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 0 0);
          clip-path: polygon(0 100%, 100% 100%, 0 0);
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__card::before {
    width: 1.56vw;
    height: 1.56vw;
  }
}
.esthetic-loan__card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 6.67vw;
  height: 6.67vw;
  background: #fff;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
          clip-path: polygon(100% 0, 100% 100%, 0 0);
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__card::after {
    width: 1.56vw;
    height: 1.56vw;
  }
}
.esthetic-loan__card--w {
  background: #fff;
}
.esthetic-loan__card--w::before {
  background: #F8F6F5;
}
.esthetic-loan__card--w::after {
  background: #F8F6F5;
}
.esthetic-loan__label {
  background: #D1B45C;
  color: #FFFFFF;
  padding: 0.8vw 1.87vw;
  font-size: 3.73vw;
  margin-bottom: 5.33vw;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__label {
    padding: 0.16vw 0.36vw;
    font-size: clamp(11px, 0.73vw, 0.73vw);
    margin-bottom: 1.04vw;
  }
}
.esthetic-loan__title {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 4.8vw;
  letter-spacing: 0.05em;
  margin-bottom: 0.27vw;
  line-height: 1;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__title {
    font-size: clamp(19px, 1.25vw, 1.25vw);
    margin-bottom: 0.05vw;
  }
}
.esthetic-loan__price-section {
  margin-bottom: 4vw;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__price-section {
    margin-bottom: 0.78vw;
  }
}
.esthetic-loan__price-label {
  font-size: 4.8vw;
  letter-spacing: 0.05em;
  margin-bottom: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__price-label {
    font-size: clamp(16px, 0.94vw, 0.94vw);
    margin-bottom: 0.42vw;
  }
}
.esthetic-loan__main-price {
  display: flex;
  align-items: baseline;
  margin-bottom: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__main-price {
    margin-bottom: 0.26vw;
  }
}
.esthetic-loan__currency-main {
  font-family: "Cormorant Garamond", serif;
  font-size: 8vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__currency-main {
    font-size: clamp(43px, 2.81vw, 2.81vw);
  }
}
.esthetic-loan__amount-main {
  font-family: "Cormorant Garamond", serif;
  font-size: 9.33vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__amount-main {
    font-size: clamp(51px, 3.33vw, 3.33vw);
  }
}
.esthetic-loan__tax-info {
  letter-spacing: 0.05em;
  margin-bottom: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__tax-info {
    margin-bottom: 0.52vw;
  }
}
.esthetic-loan__total-price {
  display: inline-flex;
  align-items: baseline;
}
.esthetic-loan__currency-total {
  font-family: "Cormorant Garamond", serif;
  font-size: 6.4vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__currency-total {
    font-size: clamp(24px, 1.56vw, 1.56vw);
  }
}
.esthetic-loan__amount-total {
  font-family: "Cormorant Garamond", serif;
  font-size: 6.93vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__amount-total {
    font-size: clamp(29px, 1.88vw, 1.88vw);
  }
}
.esthetic-loan__tax-total {
  font-size: 3.73vw;
  margin-left: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .esthetic-loan__tax-total {
    font-size: clamp(11px, 0.73vw, 0.73vw);
    margin-left: 0.26vw;
  }
}
.esthetic-loan__description {
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: left;
}
.trial-facial__content {
  display: flex;
  flex-direction: column;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__content {
    flex-direction: row;
    margin-top: 2.08vw;
    align-items: flex-start;
  }
}
.trial-facial__price-section {
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .trial-facial__price-section {
    max-width: 20.83vw;
  }
}
.trial-facial__price-card {
  text-align: center;
}
.trial-facial__price-header {
  margin-bottom: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__price-header {
    margin-bottom: 0.26vw;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.26vw;
  }
}
.trial-facial__price-label {
  letter-spacing: 0.05em;
  display: block;
}
@media only screen and (min-width: 768px) {
  .trial-facial__price-label {
    font-size: clamp(16px, 0.94vw, 0.94vw);
  }
}
.trial-facial__price-main {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.53vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__price-main {
    gap: 0;
  }
}
.trial-facial__currency {
  font-family: "Cormorant Garamond", serif;
  font-size: 7.47vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .trial-facial__currency {
    font-size: clamp(28px, 2.19vw, 2.19vw);
  }
}
.trial-facial__amount {
  font-family: "Cormorant Garamond", serif;
  font-size: 8.53vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .trial-facial__amount {
    font-size: clamp(32px, 2.19vw, 2.19vw);
  }
}
.trial-facial__tax {
  font-size: 3.73vw;
  margin-left: 0.8vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__tax {
    font-size: clamp(11px, 0.73vw, 0.73vw);
    margin-left: 0.26vw;
  }
}
.trial-facial__arrow {
  width: 6.93vw;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .trial-facial__arrow {
    width: 1.35vw;
  }
}
.trial-facial__special-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.8vw;
  margin-bottom: 4vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__special-price {
    gap: 0.26vw;
    margin-bottom: 1.04vw;
  }
}
.trial-facial__special-amount {
  font-family: "Cormorant Garamond", serif;
  font-size: 10.67vw;
  color: #d32f2f;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .trial-facial__special-amount {
    font-size: clamp(65px, 4.27vw, 4.27vw);
  }
}
.trial-facial__special-text {
  color: #CC0000;
  letter-spacing: 0.05em;
}
.trial-facial__course-section {
  flex: 1;
  margin-top: 5.33vw;
  padding-top: 2.67vw;
  text-align: left;
  border-top: 1px solid #EEEEEE;
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-section {
    padding-top: 0;
    margin-top: 0;
    border: none;
    border-left: 1px solid #EEEEEE;
    padding-left: 2.08vw;
  }
}
.trial-facial__course-list {
  display: flex;
  flex-direction: column;
  gap: 1.33vw;
  margin-bottom: 6.67vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-list {
    gap: 0.26vw;
    margin-bottom: 1.04vw;
  }
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-item {
    display: flex;
    align-items: baseline;
    gap: 0.52vw;
  }
}
.trial-facial__course-header {
  display: flex;
  align-items: baseline;
  gap: 0.27vw;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-header {
    gap: 0.05vw;
  }
}
.trial-facial__course-count {
  min-width: 13.33vw;
  padding-left: 0.5em;
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-count {
    font-size: clamp(16px, 0.94vw, 0.94vw);
    min-width: 3.13vw;
    padding-left: 1em;
  }
}
.trial-facial__course-count::before {
  position: absolute;
  content: "";
  width: 1.6vw;
  height: 1.6vw;
  background: #D1B45C;
  border-radius: 50%;
  flex-shrink: 0;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-count::before {
    width: 0.63vw;
    height: 0.63vw;
  }
}
.trial-facial__course-price {
  font-family: "Cormorant Garamond", serif;
  font-size: 6.4vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-price {
    font-size: clamp(30px, 2.19vw, 2.19vw);
    line-height: 1;
  }
}
.trial-facial__course-tax {
  font-size: 2.93vw;
}
@media only screen and (min-width: 768px) {
  .trial-facial__course-tax {
    font-size: clamp(11px, 0.73vw, 0.73vw);
  }
}
.trial-facial__benefit-text {
  font-size: 3.2vw;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .trial-facial__benefit-text {
    font-size: clamp(12px, 0.73vw, 0.73vw);
  }
}
.trial-facial__description {
  font-size: 3.73vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .trial-facial__description {
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.trial-facial__description p {
  margin: 0;
}

.payments {
  background: #F8F6F5;
  padding-top: 21.33vw;
  padding-bottom: 26.67vw;
}
@media only screen and (min-width: 768px) {
  .payments {
    padding-top: 7.81vw;
    padding-bottom: 9.9vw;
  }
}
.payments__description {
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .payments__description {
    margin-bottom: 2.6vw;
  }
}
.payments__methods {
  display: flex;
  flex-direction: column;
  gap: 8vw;
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .payments__methods {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2.08vw;
    margin-top: 2.08vw;
  }
}
.payments__method-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.payments__method-row {
  display: flex;
  align-items: center;
  gap: 4vw;
}
@media only screen and (min-width: 768px) {
  .payments__method-row {
    gap: 1.04vw;
  }
}
.payments__touch-area {
  display: flex;
  align-items: center;
  justify-content: center;
}
.payments__card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 2.67vw;
  align-items: center;
  justify-items: center;
}
@media only screen and (min-width: 768px) {
  .payments__card-grid {
    row-gap: 0.78vw;
    -moz-column-gap: 1.04vw;
         column-gap: 1.04vw;
  }
}
.payments__ic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 2.67vw;
  align-items: center;
  justify-items: center;
}
@media only screen and (min-width: 768px) {
  .payments__ic-grid {
    row-gap: 0.26vw;
    -moz-column-gap: 0.36vw;
         column-gap: 0.36vw;
  }
}
.payments__emoney-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  gap: 4vw;
  align-items: center;
  justify-items: center;
}
@media only screen and (min-width: 768px) {
  .payments__emoney-grid {
    gap: 1.04vw;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 1fr);
  }
}
.payments__qr-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 4vw;
  align-items: center;
  justify-items: center;
}
@media only screen and (min-width: 768px) {
  .payments__qr-grid {
    row-gap: 1.56vw;
    -moz-column-gap: 0.73vw;
         column-gap: 0.73vw;
  }
}
.payments__divider {
  width: 100%;
  height: 1px;
  background: #CCCCCC;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .payments__divider {
    width: 1px;
    height: clamp(128px, 8.33vw, 8.33vw);
  }
}
.payments__icon {
  -o-object-fit: contain;
     object-fit: contain;
}
.payments__icon--touch {
  width: 19.47vw;
  height: 26.67vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--touch {
    width: clamp(58px, 3.8vw, 3.8vw);
    height: clamp(80px, 5.21vw, 5.21vw);
    max-width: 100%;
  }
}
.payments__icon--jcb {
  width: 21.07vw;
  height: 16.53vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--jcb {
    width: clamp(63px, 4.11vw, 4.11vw);
    height: clamp(50px, 3.23vw, 3.23vw);
    max-width: 100%;
  }
}
.payments__icon--amex {
  width: 14.93vw;
  height: 14.93vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--amex {
    width: clamp(45px, 2.92vw, 2.92vw);
    height: clamp(45px, 2.92vw, 2.92vw);
    max-width: 100%;
  }
}
.payments__icon--visa {
  width: 21.6vw;
  height: 6.93vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--visa {
    width: clamp(65px, 4.22vw, 4.22vw);
    height: clamp(21px, 1.35vw, 1.35vw);
    max-width: 100%;
  }
}
.payments__icon--diners {
  width: 19.47vw;
  height: 14.4vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--diners {
    width: clamp(58px, 3.8vw, 3.8vw);
    height: clamp(43px, 2.81vw, 2.81vw);
    max-width: 100%;
  }
}
.payments__icon--mastercard {
  width: 20.8vw;
  height: 13.33vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--mastercard {
    width: clamp(62px, 4.06vw, 4.06vw);
    height: clamp(40px, 2.6vw, 2.6vw);
    max-width: 100%;
  }
}
.payments__icon--discover {
  width: 20.8vw;
  height: 13.33vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--discover {
    width: clamp(62px, 4.06vw, 4.06vw);
    height: clamp(40px, 2.6vw, 2.6vw);
    max-width: 100%;
  }
}
.payments__icon--kitaca {
  width: 15.47vw;
  height: 15.47vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--kitaca {
    width: clamp(46px, 3.02vw, 3.02vw);
    height: clamp(46px, 3.02vw, 3.02vw);
    max-width: 100%;
  }
}
.payments__icon--suica {
  width: 18.13vw;
  height: 11.2vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--suica {
    width: clamp(54px, 3.54vw, 3.54vw);
    height: clamp(34px, 2.19vw, 2.19vw);
    max-width: 100%;
  }
}
.payments__icon--pasmo {
  width: 17.6vw;
  height: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--pasmo {
    width: clamp(53px, 3.44vw, 3.44vw);
    height: clamp(32px, 2.08vw, 2.08vw);
    max-width: 100%;
  }
}
.payments__icon--toica {
  width: 17.33vw;
  height: 6.93vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--toica {
    width: clamp(52px, 3.39vw, 3.39vw);
    height: clamp(21px, 1.35vw, 1.35vw);
    max-width: 100%;
  }
}
.payments__icon--manaca {
  width: 22.4vw;
  height: 3.2vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--manaca {
    width: clamp(67px, 4.38vw, 4.38vw);
    height: clamp(10px, 0.63vw, 0.63vw);
    max-width: 100%;
  }
}
.payments__icon--icoca {
  width: 17.33vw;
  height: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--icoca {
    width: clamp(52px, 3.39vw, 3.39vw);
    height: clamp(32px, 2.08vw, 2.08vw);
    max-width: 100%;
  }
}
.payments__icon--sugoca {
  width: 20.8vw;
  height: 9.6vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--sugoca {
    width: clamp(62px, 4.06vw, 4.06vw);
    height: clamp(29px, 1.88vw, 1.88vw);
    margin-top: 0.36vw;
    max-width: 100%;
  }
}
.payments__icon--nimoca {
  width: 22.4vw;
  height: 5.87vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--nimoca {
    width: clamp(67px, 4.38vw, 4.38vw);
    height: clamp(18px, 1.15vw, 1.15vw);
    max-width: 100%;
  }
}
.payments__icon--hayakaken {
  width: 22.67vw;
  height: 8vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--hayakaken {
    width: clamp(68px, 4.43vw, 4.43vw);
    height: clamp(24px, 1.56vw, 1.56vw);
    max-width: 100%;
  }
}
.payments__icon--quickpay {
  width: 29.87vw;
  height: 18.67vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--quickpay {
    width: clamp(90px, 5.83vw, 5.83vw);
    height: clamp(56px, 3.65vw, 3.65vw);
    max-width: 100%;
  }
}
.payments__icon--id {
  width: 22.67vw;
  height: 14.67vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--id {
    width: clamp(68px, 4.43vw, 4.43vw);
    height: clamp(44px, 2.86vw, 2.86vw);
    max-width: 100%;
  }
}
.payments__icon--paypay {
  width: 46.4vw;
  height: 11.73vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--paypay {
    width: clamp(139px, 9.06vw, 9.06vw);
    height: clamp(35px, 2.29vw, 2.29vw);
    max-width: 100%;
  }
}
.payments__icon--dpay {
  width: 40.8vw;
  height: 11.73vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--dpay {
    width: clamp(122px, 7.97vw, 7.97vw);
    height: clamp(35px, 2.29vw, 2.29vw);
    max-width: 100%;
  }
}
.payments__icon--aupay {
  width: 42.67vw;
  height: 8vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--aupay {
    width: clamp(128px, 8.33vw, 8.33vw);
    height: clamp(24px, 1.56vw, 1.56vw);
    max-width: 100%;
  }
}
.payments__icon--merpay {
  width: 34.13vw;
  height: 13.87vw;
}
@media only screen and (min-width: 768px) {
  .payments__icon--merpay {
    width: clamp(102px, 6.67vw, 6.67vw);
    height: clamp(42px, 2.71vw, 2.71vw);
    max-width: 100%;
  }
}

.terms {
  padding-top: 18.67vw;
  padding-bottom: 29.33vw;
  border-bottom: 1px solid #EEEEEE;
}
@media only screen and (min-width: 768px) {
  .terms {
    padding-top: 4.69vw;
    padding-bottom: 7.29vw;
  }
}
.terms__list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.terms__item {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.terms__sub-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.terms__sub-item {
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-left: 1em;
}

.page-title {
  position: relative;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  margin-top: 60px;
}
@media only screen and (min-width: 768px) {
  .page-title {
    min-height: 400px;
    margin-top: clamp(70px, 9vw, 4.69vw);
  }
}
.page-title__inner {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 40px;
  padding-bottom: 40px;
}
.page-title__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}
.page-title__content {
  color: #FFFFFF;
  width: 100%;
  max-width: 89.58vw;
  margin: 0 auto;
}
.page-title__title {
  font-family: "Cormorant Garamond", serif;
  font-size: 48px;
  font-size: clamp(32px, 12.8vw, 48px);
  font-weight: 600;
  line-height: 1;
  margin: 0;
  letter-spacing: 0.1em;
  color: #d1b45c;
}
@media only screen and (min-width: 768px) {
  .page-title__title {
    font-size: 64px;
    font-size: clamp(51px, 3.33vw, 64px);
  }
}
.page-title__subtitle {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 16px;
  font-size: clamp(12px, 4.27vw, 16px);
  font-weight: 500;
  margin: 8px 0 0 0;
  letter-spacing: 0.2em;
  position: relative;
  padding-left: 25px;
}
@media only screen and (min-width: 768px) {
  .page-title__subtitle {
    font-size: 20px;
    margin-top: 12px;
    font-size: clamp(12px, 0.83vw, 16px);
  }
}
.page-title__subtitle::before {
  content: "";
  position: absolute;
  width: 15px;
  height: 1px;
  background: #fff;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.page-title__breadcrumb {
  position: relative;
  z-index: 2;
  background-color: #D1B45C;
  padding: 12px 0;
}
@media only screen and (min-width: 768px) {
  .page-title__breadcrumb {
    padding: 16px 0;
  }
}
.page-title__breadcrumb-inner {
  max-width: 89.58vw;
  margin: 0 auto;
}
.page-title__breadcrumb-list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: #FFFFFF;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .page-title__breadcrumb-list {
    font-size: 14px;
    width: 100%;
  }
}
.page-title__breadcrumb-list li {
  display: flex;
  align-items: center;
  font-weight: 500;
}
.page-title__breadcrumb-list li::after {
  content: " / ";
  margin: 0 0.5em;
  color: #FFFFFF;
}
.page-title__breadcrumb-list li:last-child {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.page-title__breadcrumb-list li:last-child::after {
  content: none;
}
.page-title__breadcrumb-list li a {
  color: #FFFFFF;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.page-title__breadcrumb-list li a:hover {
  opacity: 0.8;
}
.page-title__breadcrumb-list li span {
  color: #FFFFFF;
}

.salon-info--border {
  border-top: 1px solid #eee;
}

.sec-page {
  position: relative;
  padding: 16vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-page {
    padding: 7.81vw 0;
  }
}
.sec-page__inner {
  position: relative;
}

.sec-company {
  background: #FFFFFF;
  padding: 16vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sec-company {
    padding: 7.81vw 0 0;
  }
}
.sec-company__inner {
  position: relative;
}
.sec-company__content {
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-company__content {
    margin-top: 3.13vw;
  }
}
.sec-company__img {
  margin-top: 16vw;
}
@media only screen and (min-width: 768px) {
  .sec-company__img {
    width: 100vw;
    height: 20.83vw;
    margin-top: 7.81vw;
  }
}
.sec-company__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-company__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.sec-company__row {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #EEEEEE;
  padding: 5.33vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-company__row {
    display: table-row;
    padding: 0;
  }
}
.sec-company__row:first-child {
  border-top: 1px solid #EEEEEE;
}
@media only screen and (min-width: 768px) {
  .sec-company__row:first-child {
    border-top: none;
  }
  .sec-company__row:first-child .sec-company__label,
.sec-company__row:first-child .sec-company__value {
    border-top: 1px solid #EEEEEE;
  }
}
@media only screen and (min-width: 768px) {
  .sec-company__row--parking .sec-company__label {
    vertical-align: top;
  }
}
.sec-company__label {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  color: #333333;
  margin-bottom: 2.67vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec-company__label {
    display: table-cell;
    width: 7.81vw;
    padding: 1.82vw 1.56vw 1.82vw 0;
    margin-bottom: 0;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
    vertical-align: middle;
    border-bottom: 1px solid #EEEEEE;
  }
}
.sec-company__value {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  color: #333333;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec-company__value {
    display: table-cell;
    padding: 1.82vw 0;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
    vertical-align: middle;
    border-bottom: 1px solid #EEEEEE;
  }
}
.sec-company__parking-list {
  display: flex;
  flex-direction: column;
  gap: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-company__parking-list {
    gap: 1.3vw;
  }
}
.sec-company__parking-row {
  display: flex;
  flex-direction: column;
  gap: 4vw;
}
@media only screen and (min-width: 768px) {
  .sec-company__parking-row {
    flex-direction: row;
    gap: 1.56vw;
  }
}
.sec-company__parking-item {
  display: flex;
  flex-direction: column;
  gap: 2.13vw;
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .sec-company__parking-item {
    gap: 0.52vw;
  }
}
.sec-company__parking-name {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.47vw;
  line-height: 1.6;
  color: #333333;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec-company__parking-name {
    font-size: 0.73vw;
    font-size: clamp(13px, 0.73vw, 0.73vw);
  }
}
.sec-company__map-button {
  display: inline-flex;
  align-items: center;
  gap: 1.6vw;
  padding: 2.13vw 3.2vw;
  background: #D1B45C;
  color: #FFFFFF;
  text-decoration: none;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.2vw;
  font-weight: 500;
  line-height: 1;
  transition: all 0.3s ease;
  align-self: flex-start;
}
@media only screen and (min-width: 768px) {
  .sec-company__map-button {
    gap: 0.42vw;
    padding: 0.52vw 0.78vw;
    font-size: 0.73vw;
    font-size: clamp(12px, 0.73vw, 0.73vw);
  }
}
.sec-company__map-button:hover {
  opacity: 0.8;
  text-decoration: none;
  color: #FFFFFF;
}
.sec-company__map-text {
  color: #FFFFFF;
}
.sec-company__map-icon {
  width: 3.73vw;
  height: 3.73vw;
}
@media only screen and (min-width: 768px) {
  .sec-company__map-icon {
    width: 0.83vw;
    height: 0.83vw;
  }
}

.contact--intoro {
  background: none;
}
.contact--intoro .contact__item {
  border: none;
}
.contact--intoro .contact__left {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.contact--intoro .contact__right {
  border-bottom: 1px solid #ccc;
}
@media only screen and (min-width: 768px) {
  .contact--intoro .contact__right {
    border-top: 1px solid #ccc;
  }
}

.sec-form {
  background: #f8f6f5;
  padding: 16vw 0 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-form {
    padding: 7.81vw 0;
  }
}
.sec-form__description {
  text-align: center;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 4.27vw;
  line-height: 1.7;
  color: #333333;
  margin: 10.67vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sec-form__description {
    font-size: 0.94vw;
    font-size: clamp(16px, 0.94vw, 0.94vw);
    margin: 3.13vw auto 0;
  }
}
.sec-form__form {
  padding: 10.67vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-form__form {
    padding: 3.13vw 0 0;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }
}
.sec-form__table {
  width: 100%;
}
.sec-form__table-th {
  display: block;
  font-weight: 500;
  text-align: left;
  padding: 10px 0 8px 0;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  color: #333333;
}
@media only screen and (min-width: 768px) {
  .sec-form__table-th {
    display: block;
    padding: 20px 0 0 0;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
    vertical-align: midle;
  }
}
@media only screen and (min-width: 992px) {
  .sec-form__table-th {
    width: 210px;
    display: table-cell;
    padding: 20px 30px 20px 0;
  }
}
.sec-form__table-th--top {
  vertical-align: top;
}
.sec-form__table-th .must {
  color: #fff;
  font-size: 2.67vw;
  padding: 0.53vw 1.6vw;
  background: #d1b45c;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .sec-form__table-th .must {
    font-size: 0.63vw;
    font-size: clamp(12px, 0.73vw, 0.73vw);
    padding: 0.16vw 0.42vw;
    max-width: 54px;
    max-width: 26px;
  }
}
.sec-form__table-title {
  display: flex;
  gap: 10px;
}
@media only screen and (min-width: 992px) {
  .sec-form__table-title {
    justify-content: space-between;
  }
}
.sec-form__table-td {
  display: block;
  padding: 0 0 5.33vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-form__table-td {
    display: block;
    vertical-align: top;
    padding: 1.04vw 0 1.25vw 0;
  }
}
@media only screen and (min-width: 992px) {
  .sec-form__table-td {
    display: table-cell;
  }
}
.sec-form input[type=date],
.sec-form input[type=text],
.sec-form input[type=email],
.sec-form input[type=tel],
.sec-form select,
.sec-form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 4vw 3.2vw;
  background-color: #fff;
  border: none;
  font-size: 4.27vw;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  line-height: 1.5;
  transition: border-color 0.3s ease;
  color: #333;
}
@media only screen and (min-width: 768px) {
  .sec-form input[type=date],
.sec-form input[type=text],
.sec-form input[type=email],
.sec-form input[type=tel],
.sec-form select,
.sec-form textarea {
    padding: 0.78vw 0.78vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.sec-form input[type=date]:focus,
.sec-form input[type=text]:focus,
.sec-form input[type=email]:focus,
.sec-form input[type=tel]:focus,
.sec-form select:focus,
.sec-form textarea:focus {
  outline: 0;
  border-color: #D1B45C;
}
.sec-form input[type=text] {
  max-width: 600px;
}
.sec-form input[type=date] {
  position: relative;
  min-height: 2.08vw;
}
@media only screen and (min-width: 768px) {
  .sec-form input[type=date] {
    padding: 0.78vw 0.78vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.sec-form input[type=date]::-webkit-calendar-picker-indicator {
  background: transparent;
  z-index: 1;
}
.sec-form input[type=date]::after {
  content: "";
  background-image: url("./images/ico_calendar.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 0 0;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.sec-form select {
  padding-right: 10.67vw;
  background-image: url("./images/ico_select.svg");
  background-repeat: no-repeat;
  background-size: 3.2vw 2.13vw;
  background-position: right 3.2vw center;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .sec-form select {
    padding-right: 2.6vw;
    background-size: 0.78vw 0.52vw;
    background-position: right 0.78vw center;
  }
}
.sec-form select.w200 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .sec-form select.w200 {
    width: 10.42vw;
    min-width: 10.42vw;
  }
}
.sec-form textarea {
  resize: vertical;
  min-height: 32vw;
}
@media only screen and (min-width: 768px) {
  .sec-form textarea {
    min-height: 15.63vw;
  }
}
.sec-form textarea::-moz-placeholder {
  color: #999999;
  font-size: 3.73vw;
}
.sec-form textarea::placeholder {
  color: #999999;
  font-size: 3.73vw;
}
@media only screen and (min-width: 768px) {
  .sec-form textarea::-moz-placeholder {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
  .sec-form textarea::placeholder {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.sec-form .-time-wrap {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 20px;
}
@media only screen and (min-width: 768px) {
  .sec-form .-time-wrap {
    grid-template-columns: 80px 200px 300px;
  }
}
.sec-form .-time-wrap:not(:first-child) {
  margin-top: 20px;
}
.sec-form .-radio-wrap {
  display: flex;
  gap: 10px 50px;
  flex-wrap: wrap;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .sec-form .-radio-wrap {
    flex-direction: row;
  }
}
.sec-form .-radiobutton {
  margin: 2.13vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-form .-radiobutton {
    display: block;
    margin: 0.52vw 0;
  }
}
.sec-form .-radiobutton input[type=radio] {
  display: none;
}
.sec-form .-radiobutton input[type=radio]:checked + span::after {
  opacity: 1;
}
.sec-form .-radiobutton label {
  display: block;
  cursor: pointer;
}
.sec-form .-radiobutton label span {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  position: relative;
  width: auto;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  color: #333333;
  padding-left: 8vw;
}
@media only screen and (min-width: 768px) {
  .sec-form .-radiobutton label span {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
    padding-left: 40px;
  }
}
.sec-form .-radiobutton label span::before {
  background: #fff;
  border-radius: 50%;
  content: "";
  display: block;
  width: 5.33vw;
  height: 5.33vw;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .sec-form .-radiobutton label span::before {
    width: 30px;
    height: 30px;
  }
}
.sec-form .-radiobutton label span::after {
  background: #D1B45C;
  border-radius: 50%;
  content: "";
  display: block;
  width: 2.67vw;
  height: 2.67vw;
  position: absolute;
  top: 50%;
  left: 1.33vw;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .sec-form .-radiobutton label span::after {
    width: 16px;
    height: 16px;
    left: 7px;
  }
}
.sec-form__privacy {
  width: 100%;
  max-width: 100%;
}
.sec-form__privacy-scroll {
  overflow-y: auto;
  overflow-x: hidden;
  background: #fff;
  padding: 0;
  height: 200px;
  width: 100%;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-scroll {
    height: 140px;
  }
}
.sec-form__privacy-scroll::-webkit-scrollbar {
  width: 2.13vw;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-scroll::-webkit-scrollbar {
    width: 0.52vw;
  }
}
.sec-form__privacy-scroll::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 1.07vw;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-scroll::-webkit-scrollbar-track {
    border-radius: 0.26vw;
  }
}
.sec-form__privacy-scroll::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 1.07vw;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-scroll::-webkit-scrollbar-thumb {
    border-radius: 0.26vw;
  }
}
.sec-form__privacy-scroll::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
.sec-form__privacy-content {
  box-sizing: border-box;
  padding: 5.33vw;
  color: #999;
  width: 100%;
  max-width: 100%;
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-content {
    padding: 1.56vw;
  }
}
.sec-form__privacy-content h5 {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 600;
  word-wrap: break-word;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-content h5 {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.sec-form__privacy-content h5:not(:first-child) {
  margin-top: 6.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-content h5:not(:first-child) {
    margin-top: 1.82vw;
  }
}
.sec-form__privacy-content h6 {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.2vw;
  font-weight: 500;
  margin: 4vw 0 2.13vw 0;
  word-wrap: break-word;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-content h6 {
    font-size: 0.73vw;
    font-size: clamp(12px, 0.73vw, 0.73vw);
    margin: 1.04vw 0 0.52vw 0;
  }
}
.sec-form__privacy-content p {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 2.93vw;
  line-height: 1.6;
  margin: 0 0 2.67vw 0;
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-content p {
    font-size: 0.68vw;
    font-size: clamp(11px, 0.68vw, 0.68vw);
    margin: 0 0 0.63vw 0;
    line-height: 1.7;
  }
}
.sec-form__privacy-content p:last-child {
  margin-bottom: 0;
}
.sec-form__privacy-content ul {
  margin: 2.13vw 0 4vw 0;
  padding-left: 4.27vw;
  width: 100%;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-content ul {
    margin: 0.52vw 0 1.04vw 0;
    padding-left: 1.04vw;
  }
}
.sec-form__privacy-content ul li {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 2.93vw;
  line-height: 1.6;
  margin-bottom: 1.6vw;
  list-style-type: disc;
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media only screen and (min-width: 768px) {
  .sec-form__privacy-content ul li {
    font-size: 0.68vw;
    font-size: clamp(11px, 0.68vw, 0.68vw);
    margin-bottom: 0.42vw;
    line-height: 1.7;
  }
}
.sec-form__privacy-content ul li:last-child {
  margin-bottom: 0;
}
.sec-form__privacy-content a {
  word-break: break-all;
  overflow-wrap: break-word;
}
.sec-form__submit {
  text-align: center;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-form__submit {
    margin-top: 4.17vw;
  }
}
.sec-form input[type=submit] {
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 58.67vw;
  padding: 4vw 10.67vw;
  margin: 0 auto;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 4.27vw;
  font-weight: 600;
  border-radius: 9999px;
  color: #FFFFFF;
  background-color: #D1B45C;
  transition: all 0.3s ease;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .sec-form input[type=submit] {
    max-width: 14.58vw;
    font-size: 0.94vw;
    font-size: clamp(16px, 0.94vw, 0.94vw);
    padding: 0.94vw 2.6vw;
  }
}
.sec-form input[type=submit]:hover {
  opacity: 0.8;
  transform: translateY(-2px);
}

.wpcf7-spinner {
  display: none;
}

.sec-begin {
  background: #FEFCF9;
  padding: 16vw 0 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-begin {
    padding: 7.81vw 0;
  }
}
.sec-begin__inner {
  position: relative;
}
.sec-begin__content {
  text-align: left;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-begin__content {
    text-align: center;
    margin-top: 2.6vw;
  }
}
.sec-begin__text {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.8;
  color: #333333;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec-begin__text {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 16px);
    margin: 0 auto;
  }
}
.sec-begin__text:not(:first-child) {
  margin-top: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-begin__text:not(:first-child) {
    margin-top: 2.08vw;
  }
}

.sec-qa {
  padding: 16vw 0 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-qa {
    padding: 7.81vw 0;
  }
}
.sec-qa:first-of-type {
  counter-reset: qa-question;
}
.sec-qa--general {
  background: #FFFFFF;
}
.sec-qa--removal {
  background: #F8F6F5;
}
.sec-qa--whitening {
  background: #FFFFFF;
}
.sec-qa__header {
  text-align: center;
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-qa__header {
    margin-bottom: 3.13vw;
  }
}
.sec-qa__title {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(32px, 10.67vw, 48px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  color: #D1B45C;
  margin: 0 0 2.13vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-qa__title {
    font-size: clamp(48px, 3.33vw, 3.33vw);
    margin: 0 0 0.52vw 0;
  }
}
.sec-qa__subtitle {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  letter-spacing: 0.15em;
  color: #666666;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-qa__subtitle {
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}

.qa-accordion {
  margin: 0 auto;
}
.qa-accordion__item {
  counter-increment: qa-question;
  border-top: 1px solid #EEEEEE;
}
.qa-accordion__item:last-child {
  border-bottom: 1px solid #EEEEEE;
}
.qa-accordion__header {
  width: 100%;
  background: transparent;
  border: none;
  padding: 5.33vw 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  text-align: left;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .qa-accordion__header {
    padding: 1.56vw 0;
  }
}
.qa-accordion__header:hover {
  background: rgba(241, 236, 226, 0.3);
}
.qa-accordion__question {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 4.27vw;
  font-weight: 500;
  color: #333333;
  line-height: 1.6;
  flex: 1;
  margin-right: 5.33vw;
  display: flex;
  align-items: center;
  gap: 4vw;
}
@media only screen and (min-width: 768px) {
  .qa-accordion__question {
    font-size: 0.94vw;
    font-size: clamp(18px, 1.25vw, 1.25vw);
    margin-right: 1.56vw;
    gap: 1.04vw;
  }
}
.qa-accordion__question::before {
  content: "0" counter(qa-question);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.67vw;
  height: 10.67vw;
  border: 1px solid #D1B45C;
  border-radius: 50%;
  font-family: "Cormorant Garamond", serif;
  font-size: 5.87vw;
  font-weight: 400;
  color: #D1B45C;
  flex-shrink: 0;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .qa-accordion__question::before {
    width: 2.6vw;
    height: 2.6vw;
    min-width: 50px;
    min-height: 50px;
    font-size: 1.67vw;
    font-size: clamp(25px, 1.67vw, 1.67vw);
    padding-bottom: 0.16vw;
  }
}
.qa-accordion__icon {
  width: 5.33vw;
  height: 5.33vw;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .qa-accordion__icon {
    width: 1.56vw;
    height: 1.56vw;
  }
}
.qa-accordion__item--active .qa-accordion__icon {
  transform: rotate(180deg);
}
.qa-accordion__content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
.qa-accordion__answer {
  padding: 0 0 5.33vw 0;
}
@media only screen and (min-width: 768px) {
  .qa-accordion__answer {
    padding: 0 0 1.56vw 0;
  }
}
.qa-accordion__answer p {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .qa-accordion__answer p {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
    line-height: 1.8;
  }
}
.qa-accordion__item--active .qa-accordion__content {
  max-height: 200px;
  padding-top: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .qa-accordion__item--active .qa-accordion__content {
    max-height: 300px;
    padding-top: 0.78vw;
  }
}
.qa-accordion__item--active .qa-accordion__icon {
  transform: rotate(180deg);
}

.sec-common-issues {
  background: #F8F6F5;
  padding: 16vw 0 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-common-issues {
    padding: 7.81vw 0;
  }
}
.sec-common-issues__inner {
  position: relative;
}
.sec-common-issues__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8vw;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-common-issues__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.65vw 2.6vw;
    margin-top: 3.13vw;
  }
}
.sec-common-issues__note {
  background: #D1B45C;
  padding: 5.33vw;
  margin-top: 10.67vw;
  text-align: left;
  outline: 1px solid #E6DAB3;
  outline-offset: -10px;
}
@media only screen and (min-width: 768px) {
  .sec-common-issues__note {
    text-align: center;
    padding: 3.13vw 1.56vw;
    max-width: 62.5vw;
    margin: 2.6vw auto 0;
  }
}
.sec-common-issues .common-issues__note-text {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 4.27vw;
  color: #FFFFFF;
  line-height: 1.6;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-common-issues .common-issues__note-text {
    font-size: 0.83vw;
    font-size: clamp(19px, 1.25vw, 1.25vw);
  }
}

.common-issues__card {
  overflow: hidden;
}
.common-issues__image {
  width: 100%;
  height: 53.33vw;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .common-issues__image {
    height: 20.83vw;
  }
}
.common-issues__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common-issues__content {
  padding: 5.33vw 0 0 0;
}
@media only screen and (min-width: 768px) {
  .common-issues__content {
    padding: 1.56vw 0 0 0;
  }
}
.common-issues__title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 4.27vw;
  font-weight: 500;
  line-height: 1.5;
  color: #333333;
  margin: 0 0 2.67vw 0;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .common-issues__title {
    text-align: center;
    font-size: 0.94vw;
    font-size: clamp(18px, 1.25vw, 1.25vw);
    margin: 0 0 0.78vw 0;
  }
}
.common-issues__text {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.6;
  color: #666666;
  margin: 0;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .common-issues__text {
    text-align: center;
    font-size: 0.73vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}

.sec-points {
  background: #FFFFFF;
  padding: 16vw 0 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-points {
    padding: 7.81vw 0;
  }
}
.sec-points__inner {
  position: relative;
}
.sec-points__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10.67vw;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-points__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.08vw 3.13vw;
    margin-top: 2.6vw;
  }
}
.sec-points__step-number {
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-size: 3.73vw;
  font-weight: 600;
  color: #D1B45C;
  margin-bottom: 5.33vw;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1;
  padding-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .sec-points__step-number {
    font-size: 0.83vw;
    font-size: clamp(12px, 0.83vw, 0.83vw);
    margin-bottom: 1.3vw;
  }
}
.sec-points__step-number span {
  font-size: 6.4vw;
}
@media only screen and (min-width: 768px) {
  .sec-points__step-number span {
    line-height: 1;
    font-size: 1.25vw;
    font-size: clamp(24px, 8vw, 30px);
    margin-bottom: 1.04vw;
    font-weight: 300;
  }
}
.sec-points__step-number::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 1px;
  background: #e8d9ad;
}

.points-list__item {
  text-align: left;
}
.points-list__title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5;
  color: #333333;
  margin: 0 0 4vw 0;
}
@media only screen and (min-width: 768px) {
  .points-list__title {
    font-size: 1.04vw;
    font-size: clamp(18px, 1.04vw, 1.04vw);
    margin: 0 0 1.04vw 0;
  }
}
.points-list__text {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  color: #666666;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .points-list__text {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.73vw, 0.73vw);
  }
}

.sec-advantage {
  background: #f8f6f5;
  padding: 16vw 0 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-advantage {
    padding: 7.81vw 0;
  }
}
.sec-advantage__inner {
  position: relative;
}
.sec-advantage__table-wrapper {
  margin-top: 10.67vw;
  overflow-x: auto;
}
@media only screen and (min-width: 768px) {
  .sec-advantage__table-wrapper {
    margin-top: 3.13vw;
    overflow-x: visible;
  }
}

.advantage__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #EEEEEE;
  border-left: 1px solid #EEEEEE;
  border-right: 1px solid #EEEEEE;
  overflow: hidden;
  min-width: 1440px;
  background: #fff;
  table-layout: fixed;
}
@media only screen and (min-width: 768px) {
  .advantage__table {
    min-width: auto;
  }
}
.advantage__table colgroup col:first-child {
  width: 160px;
}
.advantage__table colgroup col {
  width: auto;
}
.advantage__header-row {
  background: #D1B45C;
}
.advantage__header-cell {
  padding: 4vw 2.67vw;
  text-align: center;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  color: #FFFFFF;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
@media only screen and (min-width: 768px) {
  .advantage__header-cell {
    padding: 1.04vw 0.78vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.advantage__header-cell:last-child {
  border-right: none;
}
.advantage__label {
  padding: 4vw 2.67vw;
  text-align: center;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  color: #333333;
  border-right: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  background: #f8f8f8;
  vertical-align: middle;
}
@media only screen and (min-width: 768px) {
  .advantage__label {
    padding: 1.04vw 0.78vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.advantage__cell {
  padding: 4vw 1.33vw;
  text-align: center;
  font-size: 3.73vw;
  font-weight: 500;
  color: #333333;
  border-right: 1px solid #EEEEEE;
  border-bottom: 1px solid #EEEEEE;
  vertical-align: middle;
}
@media only screen and (min-width: 768px) {
  .advantage__cell {
    padding: 1.04vw 0.52vw;
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.advantage__cell:last-child {
  border-right: none;
}

.sec-point-col2__inner {
  position: relative;
  padding-top: 16vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__inner {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
.sec-point-col2__flow {
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__flow {
    margin-top: 2.6vw;
  }
}
.sec-point-col2__step {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8vw;
  margin-bottom: 16vw;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step {
    flex-direction: row;
    align-items: center;
    gap: 5.21vw;
    margin-bottom: 5.21vw;
  }
}
.sec-point-col2__step:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step--reverse {
    flex-direction: row-reverse;
  }
}
.sec-point-col2__step-content {
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step-image {
    max-width: 41.67vw;
  }
}
.sec-point-col2__step-img {
  width: 100%;
  height: 64vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step-img {
    height: 23.07vw;
  }
}
.sec-point-col2__step-number {
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-size: 3.73vw;
  font-weight: 600;
  color: #D1B45C;
  margin-bottom: 5.33vw;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1;
  padding-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step-number {
    font-size: 0.83vw;
    font-size: clamp(12px, 0.83vw, 0.83vw);
    margin-bottom: 1.3vw;
  }
}
.sec-point-col2__step-number span {
  font-size: 6.4vw;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step-number span {
    line-height: 1;
    font-size: 1.25vw;
    font-size: clamp(24px, 8vw, 30px);
    margin-bottom: 1.04vw;
    font-weight: 300;
  }
}
.sec-point-col2__step-number::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 1px;
  background: #e8d9ad;
}
.sec-point-col2__step-subtitle {
  display: inline-block;
  font-size: 3.73vw;
  font-weight: 600;
  background: #D1B45C;
  color: #fff;
  margin-bottom: 5.33vw;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1;
  padding: 5px 10px;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step-subtitle {
    font-size: 0.83vw;
    font-size: clamp(12px, 0.83vw, 0.83vw);
    margin-bottom: 1.3vw;
  }
}
.sec-point-col2__step-title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 5.33vw;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  margin: 0 0 4vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step-title {
    font-size: 1.46vw;
    font-size: clamp(19px, 1.25vw, 24px);
    margin: 0 0 1.04vw 0;
  }
}
.sec-point-col2__step-description {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  color: #666666;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__step-description {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 16px);
    line-height: 1.8;
  }
}
.sec-point-col2__note {
  font-size: 3.47vw;
  line-height: 1.5;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__note {
    font-size: 0.73vw;
    font-size: clamp(12px, 0.73vw, 0.73vw);
  }
}
.sec-point-col2__note:not(:first-child) {
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .sec-point-col2__note:not(:first-child) {
    margin-top: 2.6vw;
  }
}

.sec-schedule__inner {
  position: relative;
  padding-top: 16vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__inner {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
.sec-schedule__flow {
  margin-top: 16vw;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__flow {
    margin-top: 2.6vw;
  }
}
.sec-schedule__step {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8vw;
  margin-bottom: 16vw;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__step {
    flex-direction: row;
    align-items: center;
    gap: 5.21vw;
    margin-bottom: 5.21vw;
  }
}
.sec-schedule__step:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__step--reverse {
    flex-direction: row-reverse;
  }
}
.sec-schedule__step-content {
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__step-image {
    max-width: 41.67vw;
  }
}
.sec-schedule__step-img {
  width: 100%;
  height: 64vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__step-img {
    height: 23.07vw;
  }
}
.sec-schedule__step-number {
  display: inline-block;
  font-size: 3.73vw;
  font-weight: 600;
  background: #D1B45C;
  color: #fff;
  margin-bottom: 5.33vw;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1;
  padding: 5px 10px;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__step-number {
    font-size: 0.83vw;
    font-size: clamp(12px, 0.83vw, 0.83vw);
    margin-bottom: 1.3vw;
  }
}
.sec-schedule__step-title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 5.33vw;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  margin: 0 0 4vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__step-title {
    font-size: 1.46vw;
    font-size: clamp(19px, 1.25vw, 24px);
    margin: 0 0 1.04vw 0;
  }
}
.sec-schedule__step-description {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  color: #666666;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-schedule__step-description {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 16px);
    line-height: 1.8;
  }
}

.sec-after-care {
  background: #f8f6f5;
  padding: 0 0 21.33vw;
}
@media only screen and (min-width: 992px) {
  .sec-after-care {
    padding: 0 0 7.81vw;
  }
}
@media only screen and (min-width: 768px) {
  .sec-after-care .title_header .title-ja,
.sec-after-care .title_header .title-en {
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  .sec-after-care .title_header .title-line {
    margin-left: 1.56vw;
    margin-right: 0;
  }
}
.sec-after-care__inner {
  position: relative;
}
.sec-after-care__content {
  display: flex;
  flex-direction: column;
  gap: 10.67vw;
}
@media only screen and (min-width: 992px) {
  .sec-after-care__content {
    display: grid;
    grid-template-columns: 25vw 1fr;
    align-items: flex-end;
    gap: 5.21vw;
    padding-left: 12.5vw;
  }
}
.sec-after-care__text-area {
  flex: 1;
  order: 2;
  padding: 0 24px;
}
@media only screen and (min-width: 992px) {
  .sec-after-care__text-area {
    order: 1;
    padding: 7.81vw 0 0 0;
  }
}
.sec-after-care__description {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  color: #333333;
  margin-bottom: 8vw;
}
@media only screen and (min-width: 992px) {
  .sec-after-care__description {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
    margin-bottom: 2.08vw;
  }
}
.sec-after-care__image {
  flex-shrink: 0;
  order: 1;
}
@media only screen and (min-width: 992px) {
  .sec-after-care__image {
    order: 2;
    height: 100%;
  }
}
.sec-after-care__image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 992px) {
  .sec-after-care__image img {
    height: 100%;
  }
}
.sec-after-care .after-care__list {
  display: flex;
  flex-direction: column;
  gap: 6.67vw;
  background: #fff;
  padding: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-after-care .after-care__list {
    gap: 1.56vw;
    padding: 2.08vw;
  }
}
.sec-after-care .after-care__item-maintitle {
  font-size: 4.27vw;
  line-height: 1.7;
  margin: 0 0 2.67vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-after-care .after-care__item-maintitle {
    font-size: 0.73vw;
    font-size: clamp(16px, 1.04vw, 1.04vw);
    margin: 0 0 1.04vw 0;
  }
}
.sec-after-care .after-care__item-title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  background: #D1B45C;
  color: #fff;
  line-height: 1;
  display: inline-block;
  padding: 5px 10px;
}
@media only screen and (min-width: 768px) {
  .sec-after-care .after-care__item-title {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 16px);
  }
}
.sec-after-care .after-care__item-text {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-after-care .after-care__item-text {
    font-size: 0.73vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
  }
}
.sec-after-care .after-care__item-text:not(:first-child) {
  margin-top: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-after-care .after-care__item-text:not(:first-child) {
    margin-top: 1.04vw;
  }
}
.sec-after-care .after-care__item-note {
  font-size: 3.47vw;
  line-height: 1.5;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-after-care .after-care__item-note {
    font-size: 0.73vw;
    font-size: clamp(12px, 0.73vw, 0.73vw);
  }
}
.sec-after-care .after-care__item-note:not(:first-child) {
  margin-top: 2.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-after-care .after-care__item-note:not(:first-child) {
    margin-top: 1.04vw;
  }
}
@media only screen and (min-width: 768px) {
  .sec-after-care--removal .after-care__item-title {
    width: 100%;
    max-width: 180px;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .sec-after-care--whitening .after-care__item-title {
    width: 100%;
    max-width: 290px;
    text-align: center;
  }
}

.sec-course-price {
  padding: 18.67vw 0;
  text-align: center;
  color: #FFFFFF;
  background: url("images/course-price-img.jpg") no-repeat center;
  background-size: cover;
}
.sec-course-price--wh_int {
  background: url("images/wh_int_price.jpg") no-repeat center;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .sec-course-price {
    padding: 5.21vw 0;
  }
}
.sec-course-price__inner {
  position: relative;
}
.sec-course-price__content {
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-course-price__content {
    margin-top: 3.13vw;
  }
}
.sec-course-price__text {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  color: #FFFFFF;
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-course-price__text {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 0.83vw);
    margin-bottom: 2.6vw;
  }
}
.sec-course-price .title-ja {
  color: rgb(255, 255, 255);
}
.sec-course-price .title-line {
  background: rgba(255, 255, 255, 0.3);
}
.sec-course-price .btn-default__text {
  color: #FFFFFF;
}
.sec-course-price .btn-default__text::after {
  background: rgba(255, 255, 255, 0.3);
}

.sec-visit-us__inner {
  position: relative;
  padding-top: 16vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-visit-us__inner {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
@media only screen and (min-width: 768px) {
  .sec-visit-us__img {
    width: 100vw;
    height: 20.83vw;
  }
}
.sec-visit-us__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-visit-us__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.33vw;
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-visit-us__content {
    grid-template-columns: 220px 220px;
    gap: 3.13vw;
    justify-content: center;
    margin-top: 3.13vw;
  }
}
@media only screen and (min-width: 992px) {
  .sec-visit-us__content {
    grid-template-columns: 260px 260px;
  }
}
.sec-visit-us__card {
  background: #FFFFFF;
  border: 1px solid #EEEEEE;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 40.8vw;
  height: 40.8vw;
}
@media only screen and (min-width: 768px) {
  .sec-visit-us__card {
    width: 220px;
    height: 220px;
  }
}
@media only screen and (min-width: 992px) {
  .sec-visit-us__card {
    width: 260px;
    height: 260px;
  }
}
.sec-visit-us__card:hover {
  transform: translateY(-5px);
}
.sec-visit-us__card-title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  margin: 0 0 5.33vw 0;
  letter-spacing: normal;
}
@media only screen and (min-width: 768px) {
  .sec-visit-us__card-title {
    font-size: 1.25vw;
    font-size: clamp(18px, 1.35vw, 26px);
    margin: 0 0 30px 0;
  }
}
.sec-visit-us__card-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec-visit-us__arrow-icon {
  width: 5.33vw;
  height: 5.33vw;
  opacity: 0.6;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .sec-visit-us__arrow-icon {
    width: 1.46vw;
    height: 1.46vw;
  }
}
.sec-visit-us__card:hover .sec-visit-us__arrow-icon {
  opacity: 1;
  transform: translateY(3px);
}

.sec-removal,
.sec-whitening {
  background: #FEFCF9;
}
.sec-removal--removal,
.sec-whitening--removal {
  background: #fff;
}
.sec-removal__inner,
.sec-whitening__inner {
  position: relative;
  padding-top: 16vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-removal__inner,
.sec-whitening__inner {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
.sec-removal__flow,
.sec-whitening__flow {
  margin-top: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-removal__flow,
.sec-whitening__flow {
    margin-top: 2.6vw;
  }
}
.sec-removal__step,
.sec-whitening__step {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8vw;
  margin-bottom: 16vw;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step,
.sec-whitening__step {
    flex-direction: row;
    align-items: center;
    gap: 5.21vw;
    margin-bottom: 5.21vw;
  }
}
.sec-removal__step:last-child,
.sec-whitening__step:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step--reverse,
.sec-whitening__step--reverse {
    flex-direction: row-reverse;
  }
}
.sec-removal__step-content,
.sec-whitening__step-content {
  flex: 1;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step-image,
.sec-whitening__step-image {
    max-width: 41.67vw;
  }
}
.sec-removal__step-img,
.sec-whitening__step-img {
  width: 100%;
  height: 64vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step-img,
.sec-whitening__step-img {
    height: 23.07vw;
  }
}
.sec-removal__step-number,
.sec-whitening__step-number {
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-size: 3.73vw;
  font-weight: 600;
  color: #D1B45C;
  margin-bottom: 5.33vw;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1;
  padding-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step-number,
.sec-whitening__step-number {
    font-size: 0.83vw;
    font-size: clamp(12px, 0.83vw, 0.83vw);
    margin-bottom: 1.3vw;
  }
}
.sec-removal__step-number span,
.sec-whitening__step-number span {
  font-size: 6.4vw;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step-number span,
.sec-whitening__step-number span {
    line-height: 1;
    font-size: 1.25vw;
    font-size: clamp(24px, 8vw, 30px);
    margin-bottom: 1.04vw;
    font-weight: 300;
  }
}
.sec-removal__step-number::after,
.sec-whitening__step-number::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 1px;
  background: #e8d9ad;
}
.sec-removal__step-title,
.sec-whitening__step-title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 5.33vw;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  margin: 0 0 4vw 0;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step-title,
.sec-whitening__step-title {
    font-size: 1.46vw;
    font-size: clamp(19px, 1.25vw, 24px);
    margin: 0 0 1.04vw 0;
  }
}
.sec-removal__step-description,
.sec-whitening__step-description {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  line-height: 1.7;
  color: #666666;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-removal__step-description,
.sec-whitening__step-description {
    font-size: 0.83vw;
    font-size: clamp(14px, 0.83vw, 16px);
    line-height: 1.8;
  }
}

.sec-single {
  padding-top: 16vw;
}
@media only screen and (min-width: 768px) {
  .sec-single {
    padding-top: 7.81vw;
  }
}
.sec-single__inner {
  margin-inline: auto;
  padding: 0 24px;
}
@media only screen and (min-width: 768px) {
  .sec-single__inner {
    padding: 0;
  }
}
.sec-single__header {
  margin-bottom: 10.67vw;
}
@media only screen and (min-width: 768px) {
  .sec-single__header {
    margin-bottom: 3.13vw;
  }
}
.sec-single__meta {
  display: flex;
  align-items: center;
  gap: 5.33vw;
  margin-bottom: 5.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-single__meta {
    gap: 1.56vw;
    margin-bottom: 1.56vw;
  }
}
.sec-single__date {
  font-family: "Cormorant Garamond", serif;
  font-size: 4.27vw;
  font-weight: 400;
  color: #333333;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .sec-single__date {
    font-size: 1.04vw;
    font-size: clamp(16px, 1.04vw, 1.04vw);
  }
}
.sec-single__category {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.2vw;
  color: #FFFFFF;
  background: #D1B45C;
  padding: 1.6vw 3.2vw;
  line-height: 1;
  display: inline-block;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .sec-single__category {
    font-size: 0.73vw;
    font-size: clamp(11px, 0.73vw, 0.73vw);
    padding: 0.42vw 0.83vw;
  }
}
.sec-single__title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 5.33vw;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-single__title {
    font-size: 1.46vw;
    font-size: clamp(22px, 1.46vw, 1.46vw);
    line-height: 1.5;
  }
}

.single-pagination {
  margin-top: 16vw;
  background: #d1b45c;
  padding: 20px 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .single-pagination {
    margin-top: 7.81vw;
    padding: 45px 0;
  }
}
.single-pagination__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  gap: 0 10px;
}
@media only screen and (min-width: 768px) {
  .single-pagination__list {
    grid-template-columns: 1fr 184px 1fr;
    max-width: 90vw;
    padding: 0;
    gap: 2.6vw;
  }
}
@media only screen and (min-width: 992px) {
  .single-pagination__list {
    max-width: 55.47vw;
  }
}
.single-pagination__item--prev a {
  text-align: left;
  position: relative;
  padding-left: clamp(30px, 1.67vw, 1.67vw);
  color: #FFFFFF;
}
.single-pagination__item--prev a:hover {
  color: #FFFFFF;
}
.single-pagination__item--prev a::before {
  position: absolute;
  content: "";
  display: block;
  background: url("./images/single_prev.png") no-repeat;
  background-size: cover;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .single-pagination__item--prev a::before {
    width: 20px;
    height: 20px;
  }
}
.single-pagination__item--next {
  display: flex;
  justify-content: flex-end;
}
.single-pagination__item--next a {
  text-align: right;
  position: relative;
  padding-right: clamp(30px, 1.67vw, 1.67vw);
  color: #FFFFFF;
}
.single-pagination__item--next a:hover {
  color: #FFFFFF;
}
.single-pagination__item--next a::after {
  position: absolute;
  content: "";
  display: block;
  background: url("./images/single_next.png") no-repeat;
  background-size: cover;
  width: 16px;
  height: 16px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
  .single-pagination__item--next a::after {
    width: 20px;
    height: 20px;
  }
}
.single-pagination__item--index {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  order: 1;
  border-top: 1px solid #fff;
  grid-row: 2/3;
  grid-column: 1/3;
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .single-pagination__item--index {
    border-top: none;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    grid-row: auto;
    grid-column: auto;
    order: inherit;
  }
}
.single-pagination__item--index a {
  white-space: nowrap;
  color: #FFFFFF;
}
.single-pagination__item--index a:hover {
  color: #FFFFFF;
}
.single-pagination__index {
  text-align: center;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .single-pagination__index {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}
.single-pagination__index a {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  color: #FFFFFF;
  transition: color 0.3s ease;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  padding: 0 20px;
  width: 100%;
  max-width: 9.58vw;
}
@media only screen and (min-width: 768px) {
  .single-pagination__index a {
    font-size: 0.83vw;
    font-size: clamp(12px, 0.83vw, 0.83vw);
  }
}
.single-pagination__index a:hover {
  color: #FFFFFF;
  text-decoration: none;
}

.pagination-disabled {
  display: inline-block;
  padding: 10px 15px;
  color: #999;
}

.single-block__img {
  display: block;
  width: 100%;
  max-width: 600px;
  margin: 0 auto 50px;
}
@media only screen and (min-width: 768px) {
  .single-block__img {
    max-width: 43.75vw;
    margin: 0 auto 5.21vw;
  }
}
.single-block__img img {
  width: 100% !important;
}
.single-block img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
.single-block img.alignright {
  display: block;
  margin: 0 0 0 auto !important;
}
.single-block img.alignleft {
  display: block;
  margin: 0 auto 0 0 !important;
}
.single-block img.aligncenter {
  display: block;
  margin: 0 auto !important;
}
.single-block .aligncenter {
  margin: 0 auto;
}
.single-block em {
  font-style: italic;
}
.single-block a {
  color: #d1b45c;
  text-decoration: underline;
  display: inline-block;
}
.single-block a:hover {
  text-decoration: none;
}
.single-block ol {
  list-style-type: decimal;
  margin-top: 30px;
  margin-left: 20px;
}
.single-block ol[type=a] {
  list-style-type: lower-alpha;
}
.single-block ol[type=A] {
  list-style-type: upper-alpha;
}
.single-block ol[type=i] {
  list-style-type: lower-roman;
}
.single-block ol[type=I] {
  list-style-type: upper-roman;
}
.single-block ul {
  margin-top: 30px;
  list-style: disc;
  margin-left: 20px;
}
.single-block ul li {
  position: relative;
}
.single-block ul.list-circle {
  margin-left: 0px;
}
.single-block ul.list-circle li {
  position: relative;
  padding-left: 16px;
  list-style: none;
}
@media only screen and (min-width: 768px) {
  .single-block ul.list-circle li {
    padding-left: 1.04vw;
  }
}
.single-block ul.list-circle li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 7px;
  left: 0;
  margin-top: auto;
  margin-bottom: auto;
  background-color: #D1B45C;
  border-radius: 50%;
}
@media only screen and (min-width: 768px) {
  .single-block ul.list-circle li::before {
    width: 0.63vw;
    height: 0.63vw;
    top: 0.42vw;
  }
}
.single-block h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .single-block h3 {
    font-size: clamp(19px, 1.25vw, 1.25vw);
    margin-top: 2.6vw;
  }
}
.single-block h4 {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  .single-block h4 {
    font-size: clamp(16px, 1.04vw, 1.04vw);
    margin-top: 2.08vw;
  }
}
.single-block p {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .single-block p {
    margin-top: 1.56vw;
    font-size: clamp(11px, 0.83vw, 0.83vw) !important;
  }
}
.single-block p:first-child {
  margin-top: 0;
}
.single-block a.button__link {
  color: #000;
  text-decoration: none;
}
.single-block a.button__link:hover {
  color: #d1b45c;
}
.single-block table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  margin-top: 40px;
  border-bottom: 1px solid #eeeeee;
}
@media only screen and (min-width: 768px) {
  .single-block table {
    margin-top: 2.6vw;
  }
}
.single-block table td {
  padding: 12px 0;
  vertical-align: middle;
  display: table-cell;
  border-top: 1px solid #eeeeee;
}
@media only screen and (min-width: 768px) {
  .single-block table td {
    padding: 1.25vw 0;
  }
}
.single-block table td:first-child {
  padding: 12px 15px 12px 0;
}
@media only screen and (min-width: 768px) {
  .single-block table td:first-child {
    padding: 1.25vw 1.25vw 1.25vw 0;
  }
}
.single-block .single_btn {
  position: relative;
  margin-top: 0;
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee;
  color: #333;
  text-decoration: none;
  font-size: clamp(20px, 1.3vw, 1.3vw);
  line-height: 1.2;
}
.single-block .single_btn:hover {
  color: #d1b45c;
}
.single-block .single_btn__text {
  word-break: break-word;
  overflow-wrap: break-word;
}
.single-block .single_btn::after {
  flex-shrink: 0;
  content: "";
  display: block;
  background: url("./images/arrow.svg") no-repeat;
  background-size: cover;
  width: 4.8vw;
  height: 4.8vw;
}
@media only screen and (min-width: 768px) {
  .single-block .single_btn::after {
    width: 22px;
    height: 22px;
  }
}

.password-protection {
  text-align: center;
  /* padding: 40px 20px; */
}

.password-protection__message {
  margin-bottom: 30px;
}

.password-protection__message p {
  font-size: 16px;
  color: #666;
  line-height: 1.6;
}

.password-protection__form {
  max-width: 1000px;
  margin: 0 auto;
}

.password-protection__form form,
.password-protection__form form p {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
}

.password-protection__form label {
  font-weight: bold;
  color: #333;
}

.password-protection__form input[type=password] {
  width: 100%;
  max-width: 300px;
  padding: 12px 15px;
  border: 2px solid #ddd;
  border-radius: 5px;
  font-size: 16px;
  transition: border-color 0.3s ease;
}

.password-protection__form input[type=password]:focus {
  outline: none;
  border-color: #000;
}

.password-protection__form input[type=submit] {
  background-color: #000;
  color: white;
  padding: 12px 30px;
  border: none;
  border-radius: 9999px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.password-protection__form input[type=submit]:hover {
  background-color: #000;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .password-protection {
    padding: 30px 15px;
  }
  .password-protection__form input[type=password],
.password-protection__form input[type=submit] {
    width: 100%;
  }
}
.sec-news {
  padding-top: 16vw;
  padding-bottom: 21.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-news {
    padding-top: 7.81vw;
    padding-bottom: 7.81vw;
  }
}
.sec-news__inner {
  margin-inline: auto;
  padding: 0 24px;
}
.sec-news__nav-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 5.33vw;
  font-weight: 600;
  color: #333333;
  position: relative;
  padding-bottom: 1.33vw;
  transition: color 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .sec-news__nav-text {
    font-size: 1.3vw;
    padding-bottom: 0.42vw;
  }
}
.sec-news__nav-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48vw;
  height: 1px;
  background: #EEEEEE;
}
@media only screen and (min-width: 768px) {
  .sec-news__nav-text::after {
    width: 9.38vw;
  }
}
.sec-news__nav-icon {
  width: 4.8vw;
  height: 4.8vw;
}
@media only screen and (min-width: 768px) {
  .sec-news__nav-icon {
    width: 1.15vw;
    height: 1.15vw;
  }
}
.sec-news__content {
  flex: 1;
}
.sec-news__list {
  display: flex;
  flex-direction: column;
}
.sec-news__item {
  display: flex;
  justify-content: space-between;
  padding: 5.33vw 0;
  border-bottom: 1px solid #EEEEEE;
  position: relative;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .sec-news__item {
    padding: 1.56vw 0;
  }
}
.sec-news__item:first-child {
  border-top: 1px solid #EEEEEE;
}
.sec-news__item:hover {
  background: rgba(241, 236, 226, 0.3);
}
.sec-news__item:hover .news__item-arrow {
  transform: translateX(5px);
}
.sec-news__item-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4vw;
}
@media only screen and (min-width: 768px) {
  .sec-news__item-content {
    display: grid;
    grid-template-columns: auto 100px 1fr;
    align-items: center;
    gap: 1.56vw;
  }
}
@media only screen and (min-width: 992px) {
  .sec-news__item-content {
    grid-template-columns: auto auto 1fr;
  }
}
.sec-news__date {
  font-family: "Cormorant Garamond", serif;
  font-size: 4.27vw;
  letter-spacing: 0.05em;
  color: #333333;
  flex-shrink: 0;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .sec-news__date {
    font-size: 1.04vw;
    font-size: clamp(16px, 1.04vw, 1.04vw);
    min-width: 6.25vw;
  }
}
.sec-news__category {
  font-size: 3.2vw;
  color: #FFFFFF;
  background: #D1B45C;
  padding: 1.07vw 2.13vw;
  display: inline-block;
  flex-shrink: 0;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .sec-news__category {
    font-size: clamp(11px, 0.73vw, 0.73vw);
    padding: 0.31vw 0.26vw;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
  }
}
@media only screen and (min-width: 992px) {
  .sec-news__category {
    min-width: 6.25vw;
    max-width: 6.25vw;
  }
}
.sec-news__title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  font-size: 3.73vw;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #333333;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .sec-news__title {
    font-size: 0.83vw;
    font-size: clamp(12px, 0.83vw, 0.83vw);
    line-height: 1.7;
    flex: 1;
    padding-right: 1.67vw;
  }
}
.sec-news__item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8vw;
  height: 8vw;
  flex-shrink: 0;
  margin-top: 1.33vw;
}
@media only screen and (min-width: 768px) {
  .sec-news__item-link {
    width: 2.08vw;
    height: 2.08vw;
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.sec-news__item-link:hover {
  opacity: 1;
}
.sec-news__item-arrow {
  width: 4.27vw;
  height: 4.27vw;
  transition: transform 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .sec-news__item-arrow {
    width: 1.15vw;
    height: 1.15vw;
  }
}
@media only screen and (max-width: 767.9px) {
  .sec-news__item-content {
    gap: 2.67vw;
  }
  .sec-news__category {
    align-self: flex-start;
  }
  .sec-news__title {
    margin-bottom: 2.67vw;
  }
}

.pagination .wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  text-align: center;
  margin-top: 60px;
  gap: 10px 0;
}
@media only screen and (min-width: 768px) {
  .pagination .wp-pagenavi {
    margin-top: 5.21vw;
  }
}
.pagination .wp-pagenavi a,
.pagination .wp-pagenavi span {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  line-height: 1;
  width: 24px;
  height: 24px;
  color: #000;
  border: 1px solid #eeeeee;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: clamp(14px, 1.04vw, 1.04vw);
  width: clamp(30px, 2.08vw, 2.08vw);
  height: clamp(30px, 2.08vw, 2.08vw);
  margin: 0 5px;
  padding-bottom: 0.21vw;
}
.pagination .wp-pagenavi .current {
  color: #fff;
  background-color: #d1b45c;
}
.pagination a.previouspostslink {
  text-indent: -9999px;
  position: relative;
}
.pagination a.previouspostslink::before {
  content: "";
  display: block;
  width: clamp(8px, 0.52vw, 0.52vw);
  height: clamp(9px, 0.57vw, 0.57vw);
  background: url("./images/prev_arrow.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pagination a.nextpostslink {
  text-indent: -9999px;
  position: relative;
}
.pagination a.nextpostslink::before {
  content: "";
  display: block;
  width: clamp(8px, 0.52vw, 0.52vw);
  height: clamp(9px, 0.57vw, 0.57vw);
  background: url("./images/next_arrow.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pagination a:hover {
  text-decoration: none;
  color: #fff;
  background-color: #d1b45c;
}
.pagination a:hover.previouspostslink::before {
  width: clamp(8px, 0.52vw, 0.52vw);
  height: clamp(9px, 0.57vw, 0.57vw);
  background: url("./images/prev_arrow_w.png") no-repeat;
  background-size: cover;
}
.pagination a:hover.nextpostslink::before {
  width: clamp(8px, 0.52vw, 0.52vw);
  height: clamp(9px, 0.57vw, 0.57vw);
  background: url("./images/next_arrow_w.png") no-repeat;
  background-size: cover;
}
/*# sourceMappingURL=style.css.map */