/* カスタムスタイル */
body {font-family: "Nanum Myeongjo", serif;font-weight: 400;font-style: normal;}
html {scroll-behavior: smooth;}
/* ▼ 追加：横ブレ根絶のため、ルートでも横方向のオーバーフローを抑止 */
html, body {overflow-x: hidden;}

.logo{width:50%;}
h1, h2, h3, .font-display {font-family: "Nanum Myeongjo", serif;font-weight: 400;font-style:normal;}
h2.top-title{letter-spacing:0.1em;text-align:center;}

.top-visual{display:flex;justify-content:space-between;align-items:flex-end;}
.top-visual img{width:90%;height:auto;margin-left:auto;}
.beyond{width:10%;  writing-mode: vertical-rl;line-height: 3;font-size:0.9rem;letter-spacing:0.1em;text-align:center;}
.horizontal-scroll {-webkit-overflow-scrolling: touch;scroll-behavior: smooth;}

.nanum{font-family: "Nanum Myeongjo", serif;font-weight: 400;font-style: normal;}
.suitable h3{font-size:1.2rem;text-align:center;}
.before-title{font-size:1rem;text-align:center;margin-bottom:20px;}

/* PC用の背景スライドショー */
.bg-slider {position: fixed;top: 0;left: 0;width: 100%;height: 100vh;z-index: -1;opacity: 0.2;}
.bg-slider .slick-slide img {width: 100%;height: 100vh;object-fit: cover;}

/* slickの矢印とドットを非表示に */
.slick-prev, .slick-next {display: none !important;}
.bg-slider .slick-dots {display: none !important;}

/* 横スクロールコンテナのスクロールバーを非表示にする */
/*.horizontal-scroll {-ms-overflow-style: none;scrollbar-width: none;}
.horizontal-scroll::-webkit-scrollbar {display: none;}*/

/* アコーディオンのスタイル */
.accordion-content {max-height: 0;overflow: hidden;transition: max-height 0.4s ease-out;}
.accordion-header .accordion-icon {transition: transform 0.3s ease;margin-left:auto;}
.accordion-header.active .accordion-icon {transform: rotate(45deg);}

/* フォームのスタイル */
.form-input {width: 100%;padding: 10px;border: 1px solid #ddd;border-radius: 8px;background-color: #fff;}
.form-label {font-size: 0.875rem;margin-bottom: 0.5rem;display: block;}

/* ドレススライダーのスタイル */
.dress-slider .slick-slide {padding: 0;}
.dress-slider .slick-dots li button:before {color: #C0A88A;font-size: 10px;}

.ml20{margin-left:20px;}
.mr20{margin-right:20px;}
.bdt{border-top:solid 1px #a08880;padding-top:10px;}
.qa-answer{line-height:3em;}
.slick-dots li button:before {font-size: 5px;}
.suitable-cap{line-height:1.8em;letter-spacing:0.1em;font-size:0.9rem;}
.cos-n{display:inline-block;background:#bda88e;padding:3px 10px 2px;border-radius:3px;color:#FFF;}

/* ▼ 変更：回転バッジのはみ出しを親でクリップして横ブレを防止 */
.plan-wrap{position:relative;overflow:hidden;}
.plan-wrap .cutup{
  position:absolute;z-index:100;top:5%;right:2%;width:30%;
  transform:rotate(10deg);
  transform-origin:right center; /* 回転時のはみ出しを減らす */
}

.bene-title{background:#BF808C;color:#FFF;padding:3px 10px 2px;font-size:1rem;margin-bottom:5px;border-radius:3px;}
.glightbox img{transition:.3s ease-in-out;}
.glightbox img:hover{filter:brightness(1.2);}
.under-cap p{font-size:0.9rem;line-height:1.6em;letter-spacing:0.05em;}
.material-symbols-outlined {margin-right:10px;font-variation-settings:'FILL' 0,'wght' 100,'GRAD' 100,'opsz' 20}
.tel-link {font-size:1.5em;text-decoration: none;color: inherit;}

/* flatpickrの土曜日の文字色 */
.flatpickr-day.saturday {color: #6a9dc9;font-weight: bold;}
/* flatpickrの日曜日・祝日の文字色 */
.flatpickr-day.sunday,.flatpickr-day.holiday {color: #be818c;font-weight: bold;}
/* 選択された日付の文字色が見やすいように調整 */
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange {color: #fff !important;}

/* ▼ 追加：固定UIのオフキャンバスが横幅判定に影響しないよう最適化 */
#to-top{will-change: transform;}
/* Tailwindの translate-x-full(=100%) よりさらに外へ退避して押し出しを防ぐ */
#to-top.translate-x-full{transform: translateX(150%) !important;}
#footer-nav{will-change: transform;}

input[type="radio"] {accent-color: #BF808C;}

@media (max-width: 1023px) {
  /* 既存：スマホ域での保険（上のhtml,body指定と併用可） */
  body {overflow-x: hidden;}
  /* .horizontal-scroll のスクロールバー非表示は必要に応じて */
  /*.horizontal-scroll {-ms-overflow-style: none;scrollbar-width: none;}
  .horizontal-scroll::-webkit-scrollbar {display: none;}*/
}
