/*共通
______________________________________________*/
*,::before,::after{
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

:root {
  --c-color: #BC8F8F;
}

/* 全体のフォント設定を明朝体に */
body {
    font-family: 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', serif;
    margin: 0;
    padding: 0;
    text-align: center;  /* 全体のテキストを中央寄せ */
	font-size: clamp(15px, 2vw, 18px);
}

/* 画像をレスポンシブにするスタイル */
body img {
    max-width: 100%;  /* 親要素に対して最大幅100% */
    height: auto;  /* 高さを自動調整 */
    display: block;  /* ブロック要素として表示 */
    margin: 0 auto;  /* 中央寄せ */
	width: 100%;
    overflow-x: hidden;
	margin-top: 0;
    margin-bottom: 0px; /* 必要に応じて調整（0〜10pxがおすすめ） */
}

p{
	line-height: 1.8;
	margin-top: 0;
    margin-bottom: 0px; /* 必要に応じて調整 */
}

a{
	list-style: none;
	display: block;
}

/* ヘッダーとナビゲーションバーのスタイル */
header {
    background-color: #333;
    padding: 10px 20px;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    box-sizing: border-box;
}


/* コンテナのスタイル 
_______________________________________________*/
.container {
    display: flex;
    justify-content: space-between;  /* 左右にロゴとバーガーメニュー配置 */
    margin: 0 auto;
}

/* ロゴのスタイル 
_______________________________________________*/
.logo img {
    width: 80px;
    height: auto;
	order:1;
}


/* ナビゲーションメニューのスタイル 
_______________________________________________*/
nav {
    display: none;  /* デフォルトではメニューを非表示 */
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* メニューリストのスタイル 
_____________________________________________*/
.menu {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
	order:2;
}

.menu li {
    margin: 5px 0;
}

.menu a {
	display: block;
    color: white;
    text-decoration: none;
    font-size: 1.0em;
    transition: color 0.3s ease;
}

.menu a:hover {
    color: 	#FFB6C1;
}

/* ハンバーガーメニューのスタイル */
.menu-toggle {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    padding-right: 15px;
	order:3;
}

.menu-toggle span {
    width: 25px;
    height: 3px;
    background-color: white;
    margin: 3px;
    transition: all 0.3s;
}

.menu-toggle span:nth-of-type(1){
	top:0;
}
.menu-toggle span:nth-of-type(2){
	top:8px 0;
}
.menu-toggle span:nth-of-type(3){
	top:0;
}
.menu-toggle.active span:nth-of-type(1){
	transform:translateY(8px)rotate(-45deg);
	width: 100%;
	}
.menu-toggle.active span:nth-of-type(2){
	opacity: 0;
	}
.menu-toggle.active span:nth-of-type(3){
	transform:translateY(-10px)rotate(45deg);
	width: 100%;
	}


/* セクションのスタイル */
.hero {
    margin: 0 auto;
    margin-top: 10px;
    background-image: url("images/back.jpg");
    background-size: cover;           /* 画面いっぱいに背景をフィット */
    background-repeat: no-repeat;     /* 繰り返しなし */
    background-position: center;      /* 中央揃え */
    width: 100%;                      /* 幅を画面いっぱいに */
    overflow-x: hidden;               /* 横のはみ出しを非表示に */
    box-sizing: border-box;           /* パディングやボーダーを幅に含める */
}


.hero-decoration {
  position: relative;
  display: inline-block;
}




.text-left {
        text-align: center; /* PCやタブレットでは中央寄せ */
        background-color: rgba(120, 120, 120, 0.4); /* 0.5 = 50%透過 */
        padding: 20px; /* パディング */
		color: #FFFFFF;
        margin-top: 40px;
		margin-bottom: 10px;
	    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}


.line{
	margin: 50px 0 0;
}
.lineflend{
	padding: 20px 0 0 ;
}
/*youtube動画スタイル*/
.video{
	width: 100%;
	position:relative;
	padding-top: 56.25%;
	margin: 0 0 20px;
}
.video iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	inset:0;
}

.text-center {
  background-color: #e7d0d0;
  padding: 10px 15px;
  border-radius: 60px;
  font-size: 1vw;
  color: #000;
  margin: 20px auto;
  max-width: 90%; 
  text-align: left; /* ← 文章は左寄せ */
}



.text-right{
	background-color: #fff;
	background: url("images/sample-img.png") center no-repeat;
	background-size:100%;
	padding: 20% 0;
	margin: 0 auto;
}

.point-label {
  font-size: 1.1em;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 5px;
}

.text-right p{
	text-align: right;
	margin: 0 30px 50px 30px;
	font-size: 1em;
}
.fade-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.5s ease, transform 1s ease;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* スマホ表示用のメディアクエリ */
/* スマホ用のスタイル */
@media (max-width: 768px) {
    section img {
        margin: 0; /* 上下左右のマージンを削除して空白を無くす */
        width: 100%; /* スクリーン全体の幅に合わせて表示 */
        max-width: 100%; /* 親要素に対して最大幅を100%に設定 */
    }
	.text-left{
		font-size: 3vw;
	}
	.video{
		width: 100%;
		position:relative;
		padding-top: 56.25%;
		margin: 0 0 20px;
	}
	.video iframe{
		width: 100%;
		height: 100%;
		position: absolute;
		inset:0;
	}
	.text-center{
		border-radius: 10px;
	}
}


/* セクション内の見出しと段落のスタイル */
section h2 {
    font-size: 5vw;
	margin: 30px 0;
}

section p {
	font-size: 1.0em;
	margin-top: 0px;
	margin-bottom: 0px; 
}

/* 画像のスタイル */
section img {
    display: block;
    margin: 5px auto;  /* 画像を中央寄せ */
    width: 100%;  /* 幅を100%に */
    max-width: 1000px;  /* 最大幅を400pxに設定 */
    height: auto;  /* 高さは自動で調整 */
    object-fit: cover;  /* 画像の切り抜き設定 */
    opacity: 0;  /* 初期状態は透明 */
    transform: translateY(50px);  /* 下に移動 */
    transition: all 1s ease;  /* アニメーション効果 */
}

/* 画像が表示された時のアニメーション */
img.visible {
    opacity: 1;  /* 透明度を1に */
    transform: translateY(0);  /* 元の位置に戻る */
}

/* 常にハンバーガーメニューを使用 */
nav.active {
    display: flex;  /* アクティブ時に表示 */
}

/* LINEボタンのスタイル 
___________________________________________________*/

.btn {
    display: block;  /* ボタンをブロック要素にする */
    width: fit-content;  /* 必要な幅だけ確保 */
    background-color: #32CD32;
    color: #fff;
    text-decoration: none;
    padding: 10px 40px;
    border-radius: 8px;
    font-size: var(--font-3b);
    transition: background-color 0.3s ease;
    margin: 20px auto;  /* 中央寄せ */
	letter-spacing: 0.2em;
	box-shadow: 2px 3px 5px #bbb;
}

/* ボタンのホバー時のスタイル */
.btn:hover {
    background-color: #98FB98;  /* ホバー時の背景色 */
}

/*body全体のコンテナ
________________________________________________*/

.c-container{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* スライダーのスタイル 
________________________________________________*/

.slider-container {
    position: relative;
    width: 90%; /* 画面幅に対して100% */
    margin: auto; /* 中央寄せ */
    overflow: hidden; /* はみ出した部分は隠す */
}

.slider {
    display: flex; /* スライドを横並びにする */
    transition: transform 0.5s ease-in-out; /* スライドのアニメーション */
}

.slide {
    min-width: 100%; /* 各スライドの幅を100%に */
    opacity: 0; /* 初期状態は非表示 */
    transition: opacity 0.5s ease-in-out; /* アニメーション効果 */
}

.slide.visible {
    opacity: 1; /* 表示時は透明度を1に */
}

/* 矢印のスタイル */

.prev-arrow, .next-arrow {
    position: absolute;
    top: 50%; /* 縦方向中央 */
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.7); /* 半透明の背景 */
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    z-index: 10; /* 矢印を前面に */
}

.prev-arrow {
    left: 10px; /* 左側に配置 */
}

.next-arrow {
    right: 10px; /* 右側に配置 */
}

/* ドットナビゲーションのスタイル */
.dots {
    text-align: center; /* 中央寄せ */
    margin-top: 10px; /* 上部にマージン */
}

.dot {
    display: inline-block; /* インラインブロック */
    height: 10px; /* 高さ */
    width: 10px; /* 幅 */
    border-radius: 50%; /* 丸くする */
    background-color: lightgray; /* デフォルトの色 */
    margin: 0 5px; /* 左右にマージン */
    cursor: pointer; /* カーソルをポインタに */
}

.dot.active {
    background-color: gray; /* アクティブなドットの色 */
}
.fade-slider {
    margin-top: 50px; /* ヘッダー下の余白をなくす */
    position: relative;
    overflow: hidden;
    width: 100%; /* 画面いっぱいの横幅 */
    height: calc(100vw * 9 / 16); /* 16:9 */
    display: flex;
    justify-content: center;
    align-items: center;
}

.fade-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.fade-slide.visible {
    opacity: 1;
}

.fade-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像の縦横比を維持しつつ、スライダー内で全体を表示 */
    object-position: center;
}

.image-section {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* セクションが画面いっぱいに表示される */
    overflow: hidden;
}

.image-container {
    display: flex;
    gap: 20px; /* 画像間のスペース */
}

.slide-in {
    opacity: 0; /* 初期状態は非表示 */
    transform: translateX(-50px); /* 左からスライドインするように設定 */
    transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.slide-in.visible {
    opacity: 1;
    transform: translateX(0); /* 元の位置にスライド */
}
/* テキストのアニメーション */
.wipe-text {
	color: #BC8F8F; /* 色 */
    opacity: 0;
    transform: translateY(100px); /* 下から */
    transition: transform 2.5s ease, opacity 1s ease; /* スムーズにワイプ */
}

.wipe-text.visible {
    opacity: 1;
    transform: translateY(0); /* 元の位置に戻る */
}

.text-left2{
	text-align: center;
    background-color: #BC8F8F;
    padding: 15px 20px;
    font-size: 2vw;
    color: #000;
    margin: 20px;
}



/* 画像とポインターのスタイリング */
.image-container {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

.jewelry-image {
    width: 100%;
    height: auto;
}

/* ポインターとテキストのスタイリング */
.pointer-tooltip {
    position: absolute;
    display: flex;
    align-items: center;
    opacity: 0;
    transform: translateY(20px); /* 初期状態を少し下に設定 */
    transition: opacity 0.6s ease, transform 0.6s ease; /* アニメーション */
}

.pointer {
    width: 8px;
    height: 8px;
    background-color: #000;
    border-radius: 50%;
    margin-right: 8px;
    animation: pulse 1.5s infinite; /* 点滅アニメーション */
}

.tooltip-text {
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 14px;
}

/* ポインターの点滅アニメーション
__________________________________________________*/
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.3); }
}

/* スクロールで点滅で表示されるようにするクラス */
.pointer-tooltip.show {
    opacity: 1;
    transform: translateY(0);
}

.text-animation {
    display: flex; /* 文字を横並びにする */
    justify-content: center; /* 中央寄せ */
    font-size: 1.4em; /* フォントサイズ */
}

.char {
    opacity: 0; /* 初期状態は透明 */
    transform: translateY(20px); /* 下に移動 */
    transition: opacity 0.3s ease, transform 0.3s ease; /* スムーズなアニメーション */
}

/* ベーススタイル */
.highlight-text {
    position: relative;
    display: inline-block;
    font-size: 1.6em;
}

/* マーカー部分 */
.highlight-marker {
    position: relative;
    z-index: 1; /* テキストを前面に表示 */
    display: inline-block;
}

/* マーカーの背景 */
.highlight-marker::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 100%;
    background-color: #ffeb3b; /* マーカーの色（黄色） */
    z-index: -1; /* テキストの背面に表示 */
    transition: width 0.5s ease; /* アニメーション */
}

.c-flex{
	display: flex;
}
.c-flex-revers{
	display: flex;
	flex-direction: row-reverse;
}

.item-box{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 8% 18px 26px 18px;;
}
.item-box h2{
	margin: 0;
	font-size: 2rem;
}
.item-box p{
	font-size: 1.5rem;
}
.purchase{
	margin: 50px 0;
}

footer {
  background-color: #ccc;
  padding: 20px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  font-size: 10px; /* ← 小さめの文字サイズに変更 */
}

.footer-links {
  display: inline-flex; /* 横並び */
  gap: 10px; /* リンク間のスペース */
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.footer-links a {
  color: #333;
  text-decoration: none;
}

.footer-links a:hover {
  text-decoration: underline;
}

.footer-links span {
  color: #999;
}

/* ホバー時の動き */
.highlight-marker:hover::before {
    width: 100%; /* 全体に広がる */
}

.intro-description {
    text-align: center;
    padding: 50px 20px;
    color: #BC8F8F;
}
.intro-description p {
    font-size: 1.2em;
    line-height: 2;
    margin-top: 20px;
}
.feature-point {
	color: var(--c-color);
    padding: 50px 20px;
    text-align: center;
}

.feature-point .text-block {
    max-width: 1000px;
    margin: 0 auto;
}

.feature-point img {
    margin: 30px auto;
    max-width: 100%;
    height: auto;
}

.feature-point p {
    margin-bottom: 20px;
    font-size: 1em;
    color: #333;
}
.brand-message {
    background-color: #fff7e6;
    padding: 80px 20px;
    text-align: right;
    background-image: url("images/LP-10.jpg");
    background-size: cover;
    background-position: center;
}

.brand-message p {
    font-size: 1.2em;
    max-width: 800px;
    margin: 0 auto;
    padding-right: 20px;
    color: #333;
}
.full-gray-box {
  background-color: #f2f2f2;
  width: 100%; /* 横幅いっぱい */
  padding: 0px 10px;
}

.gray-text-inner {
  max-width: 800px;
  margin: 0px auto;          /* ボックス全体を中央寄せ */
  text-align: left;        /* テキスト内容は左詰め */
  color: #333;
}

.gray-box-heading {
  font-size: 1.1em;
  font-weight: bold;
  margin-top: -10px;
  margin-bottom: 5px;
}
.gray-box-lead {
  font-size: 2em;
  font-weight: bold;
  text-decoration: underline;
  text-align: left;
}

/* 背景画像セクション */
.bg-image-section {
  background-image: url("images/back.jpg"); /* 任意の背景画像に変更 */
  background-size: cover;
  background-position: center;
  padding: 40px 20px;
  text-align: center;
}

.bg-image-section h1,
.bg-image-section h2,
.bg-image-section h3 {
  color: #BC8F8F;  /* ゴールド系など、見出し用カラー */
}

.bg-image-section p {
  color: #333;  /* 本文用カラー */
}

.bg-text h3 {
  font-size: 1.8em;
  margin-bottom: 20px;
}

.bg-text img {
  max-width: 90%;
  margin: 20px auto;
  display: block;
}

.bg-text p {
  font-size: 1.1em;
  margin-bottom: 15px;
}

/* 白い角丸ボックス */
.white-box {
  background-color: #fff;
  border-radius: 20px;
  padding: 0px 20px;
  margin: 0px auto;
  max-width: 700px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
}

.white-box img {
  max-width: 100%;
  border-radius: 15px;
  margin-bottom: 20px;
}

.white-box h2 {
  font-size: 1.5em;
  margin-top: 0px;
  margin-bottom: 10px;
}

.white-box p {
  font-size: 1.1em;
  line-height: 1.8;
  margin-bottom: -10px;

}

.white-box {
  background-color: #fff;
  border-radius: 20px;
  padding: 40px 20px;
  margin: 40px auto;
  max-width: 900px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.product-block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
}

.product-block img {
  max-width: 100%;
  width: 100%;
  border-radius: 15px;
  margin-right: 20px;
  flex-shrink: 0;
}

.product-description {
  flex: 1;
  min-width: 200px;
}

.product-description h2 {
  font-size: 1.4em;
  margin-bottom: 10px;
}

.product-description p {
  font-size: 1.1em;
  line-height: 1.6;
}

/* スマホ対応 */
@media (max-width: 600px) {
  .product-block {
    flex-direction: column;
    text-align: center;
  }

  .product-block img {
    margin: 0 auto 20px;
  }

  .product-description {
    text-align: center;
  }
}
.cta-img {
  max-width: 75%;
  height: auto;
  display: block;
  margin: 0 auto; /* 中央寄せしたい場合 */
}


