*,
*::before,
*::after{
box-sizing:border-box;
margin:0;
padding:0;
}


/*全体の設定
---------------------------------------------------------------------------*/
body{
font-family:

BrilliantCutProMedium, "Helvetica Neue", Helvetica, メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", OSAKA, Arial, sans-serif;
	
font-size:15px;

line-height:1.9;

letter-spacing:.04em;

color:#222;
}

.jp-mincho{

	font-family:
		'Yu Mincho',
		'Hiragino Mincho ProN',
		'Times New Roman',
		serif;

}

.sp{
display:none;
}



/* 見出し（高級ブランド系） */
h1,h2,h3{

font-family:

"BrilliantCutProMedium", "Helvetica Neue", Helvetica, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", OSAKA, Arial, sans-serif;

font-weight:400;

letter-spacing:.05em;

line-height:1.4;

}
.font-l{
	font-size:large;
}

.font-xl{
	font-size:x-large;
}


h1{
font-size:42px;
}

h1.page-title{
    font-family: 'Cormorant Garamond', serif !important;
	margin-bottom:8px;
	text-align:center;
}
	

h2{
font-size:34px;
}

h3{
font-size:24px;
}

h4{
font-size:15px;
}

ul{
list-style:none;
}

.list {
    list-style-type: none;
}

.list li {
    display: flex;
    align-items: center;
    gap: 0 .5em;
	padding: .3em;
	line-height: 1.2em;
}

.list li::before {
    display: inline-block;
    width: .65em;
    height: .3em;
    border-bottom: 2px solid var(--accent);
    border-left: 2px solid var(--accent);
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}

a{
text-decoration:none;
color:inherit;
}

img{
max-width:100%;
height:auto;
display:block;
}

.gold-txt{
color:var(--accent)!important;
font-weight:bold;
}

.sub-title{
margin-bottom:20px;
}

/* 余白 */
.mb1em{
	margin-bottom:1em;
}

.mb30{
	margin-bottom:30px;
}

.pd-tb16{
	padding: 16px 0;
}

.pd-tb-30{
padding:30px 0;
}

.border-bottom-dot{
    padding-bottom: 20px!important;
border-bottom: 1px dotted var(--border);
margin-bottom: 10px;
}

/* logo */

.logo{
display:flex;
align-items:center;
}

.logo a{
display:block;
}

.logo img{

height:20px;
width:auto;

display:block;

}

/* line */

.line-middle {
    position: relative;
    display: inline-block;
    padding-left: 55px;
}

.line-middle:before {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 1px;
    background-color: #666;
}

.line-middle:before {
    left: 0;
}

/* progress */

progress {
  width: 100%;
  height: 4px;
  background-color: var(--border);
}

progress::-webkit-progress-bar {
  background-color: var(--border);
}

progress::-webkit-progress-value {
  background-color: var(--wp--preset--color--pale-cyan-blue);
}

progress::-moz-progress-bar {
  background-color: var(--wp--preset--color--pale-cyan-blue);
}

progress::-ms-fill {
  background-color: var(--wp--preset--color--pale-cyan-blue);
}
/* background */

.bg-white{
	background-color: white;
}

.bg-section{
	background-color:var(--section);
}

/* セクション余白 */

section{

padding:60px 0;

}

.section-inner{
display:block;
max-width:1200px;
margin:auto;
padding:0 30px;

}


.section-copy{
	margin-bottom: 80px;
}

.section-copy h4{
	color:var(--grey);
}

.section-sub{
	padding: 50px 0;
}

.section-cite{
padding:30px 0 0 0;
display:grid;
}

.section-cite span,
.section-cite cite{
text-align:right;
font-size:small;
color:var(--grey8);
}

.section-video video{
	display:block;
	width:100%;
	margin:20px 0;
}

.payment-icons{

display:flex;
align-items:center;
gap:18px;
list-style:none;
margin:30px 0 0 30px;
font-weight: 200;
}

.payment-icons img{
    height: 3em;

}

.copy{
	font-family: 'Cormorant Garamond', serif !important;
}
	
.catch-copy {
    font-family: 'Cormorant Garamond', serif !important;
	margin-bottom:8px
		  letter-spacing: .12em;
}

.catch-copy span{
	color:var(--grey);
	font-size:.7em;
}

.section-sub h2,
.c-menu-accordion h2{

display:flex;

align-items:flex-start;

gap:1rem;

letter-spacing:.16em;

line-height:1.6;

}

.section-sub h2::before,
.c-menu-accordion h2::before{

content:'';

flex-shrink:0;

width:5px;

height:34px;

background:var(--accent);

margin-top:.15em;

}

.section-sub .card-sub-lead{

font-size:13px;
color:var(--grey8);

margin-top:16px;

line-height:2;

letter-spacing:.08em;

max-width:720px;

}

.cta-link{
	text-align:center;
    padding: 30px 0;
}

.divider{
	max-width: 1200px;
	margin: auto;
	border: .75px solid var(--border);
}

.text{
max-width:640px;
}

.text p{
margin-bottom:24px;
}

.btn{

display:inline-block;

padding:14px 32px;

border:1px solid #000;

font-size:13px;

letter-spacing:.12em;

text-decoration:none;

transition:.3s;

}

.btn:hover{

background:#000;
color:#fff;

}

.trust-badge{
	display:grid;
	gap:10px;
	grid-auto-flow: column;
	align-items: center;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	align-items: stretch; /* 縦の高さを揃える */
}

.trust-btn-widet{
    width: 100%;
    display: flex;
    direction: ltr;
    overflow: visible;
    color: #000000;
    text-align: center;
    font-family:unset
    border: .5px solid #fff;
    border-radius: 10px;
    background-color: #ffffff;
    box-shadow: 1px 4px 10px 0px rgba(0, 0, 0, 0.1), 0px 0px 2px 0px rgba(0, 0, 0, 0.05);
}

.trust-badge-widet{
    width: 100%;
    direction: ltr;
    overflow: visible;
    color: #000000;
    text-align: center;
    font-family:unset;
	padding:10px;
    border: .5px solid #fff;
    border-radius: 10px;
    background-color: #ffffff;
    box-shadow: 1px 4px 10px 0px rgba(0, 0, 0, 0.1), 0px 0px 2px 0px rgba(0, 0, 0, 0.05);
}

.trust-text{
font-weight: 600;
}

.trust-text-sub{
margin:0;
line-height:1.5;
font-size:10px;
color: var(--grey8);
flex:1; /* ←ここだけ伸ばす */

display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:3;
overflow:hidden;
}

.trust-btn-container{
    font-size: 14px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    row-gap: unset !important;
    column-gap:unset !important;
    margin: auto;
	display: flex;
	width: 100%;
	justify-content: center;
}


.trust-btn{
    display: flex;
    border-style: solid;
    border-color: #ffffff;
    border-radius: 12px;
    padding: 20px;
    transition: transform 0.3s ease-in-out;
    text-align: center;
    color: #000000;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    align-items: center;
    background-color: #ffffff;
    background-image:none;
    gap: .75rem;
        
}

/* button */

.section-btn{
display:inline-block;
padding:12px 28px;
color:var(--accent);
border:1px solid var(--accent);
font-size:13px;
width: 50%;
letter-spacing:.15em;
transition:.3s;
margin-top:auto;  /* ←下に押す */
}

.section-btn-gold{
display:inline-block;
padding:12px 28px;
color:white;
background-color:var(--accent);
border:1px solid var(--accent);
font-size:13px;
width: 50%;
letter-spacing:.15em;
transition:.3s;
margin-top:auto;  /* ←下に押す */
}

.section-btn i{
    font-size: 24px;
}
.section-btn.icon{
    display: inline-block;
    padding: 12px 28px;
    color: var(--accent);
    border: 1px solid var(--accent);
    border-radius: 10px;
    font-size: 24px;
    width: 30%;
    letter-spacing: .15em;
    transition: .3s;
    margin-top: auto;

}

.sub-btn{
text-align: center;
}

.section-btn:hover,
.section-btn.icon:hover{

background:var(--accent);
color:#fff;

}

.section-btn-gold:hover,
.section-btn-gold.icon:hover{

background:white;
color:var(--accent);

}


.section-sub-btn{
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
}

.sub-lead{

font-size:13px;
color:var(--grey8);
margin-bottom:16px;
letter-spacing:.015em;
text-align:center;

}

.sub-text{

font-size: 12px;
text-decoration: underline 1px solid var(--accent);
color: var(--accent);
padding-bottom: 2px;
display: inline-block;
margin-top: 16px;

}

/* section-grid */

.grid-section{
	display: grid;
	gap: 10px;
	grid-auto-flow: column;
	align-items: center;
}

.grid-section-row{
	display: grid;
	gap: 10px;
	grid-auto-flow: row;
	align-items: left;
}

.grid-inner{
    width: 100%;
    display: block;
}

.grid-inner-3{
    width: 100%;
    display: block;
}

/* =========================================================
メディアロゴエリア
========================================================= */

.media-logo-grid{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  justify-items: center;
  align-items: center;
  padding: 20px 0;
}

/* スマホ */
@media(max-width:768px){
  .media-logo-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

/* ロゴ枠 */
.media-logo{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
  position: relative;
}

/* ロゴ本体 */
.media-logo img{
  max-height: 34px;
  object-fit: contain;
  width: auto;

  /* Cartier系の基本：一旦トーンダウン */
  filter: grayscale(100%) contrast(0.8);
  opacity: 0.55;

  transition: all 0.5s ease;
}

/* hover */
.media-logo:hover img{
  filter: grayscale(0%);
  opacity: 1;
  transform: translateY(-2px) scale(1.02);
}

/* うっすら区切り線（高級感） */
.media-logo::after{
  content:"";
  position:absolute;
  right:-20px;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:18px;
  background:rgba(0,0,0,0.08);
}

/* 最後の線を消す（横並び時） */
.media-logo:nth-child(5n)::after{
  display:none;
}

/* キャッチ */
.grid-catch{
  margin-top: 80px;
  text-align: center;
  font-size: 13px;
  letter-spacing: .08em;
  color: #666;
}

.media-logo:nth-child(2){
  transform: translateY(4px);
}
.media-logo:nth-child(4){
  transform: translateY(-3px);
}


/* =========================================================
googleスコア
========================================================= */
@media(max-width:768px){

.google-score{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.google-score .grid-inner{
  width: auto;
}

.google-score p{
  text-align: right;
		margin: 0;
		letter-spacing: .08em;
font-size: 12px;
color: #666;
}
}


.grid-R{
	justify-content: flex-end;
}

.grid-L{
	justify-content: flex-start;
}

.grid-2{
	grid-template-columns: repeat(2, 1fr);
	display: grid;
	gap: 1rem;
}

.grid-3{
	grid-template-columns: repeat(3, 1fr);
	display: grid;
	gap: 1rem;
}

.grid-3-2{
	grid-template-columns: 1fr .2fr 1fr;
	display: grid;
	gap: 1rem;
	align-items: center;
}
.grid-4{
	grid-template-columns: repeat(4, 1fr);
	display: grid;
	gap: 1rem;
}

.grid-4-jens{
    grid-template-columns: 1fr .3fr 1fr 4fr;
    display: grid;
}

.grid-4-jens:first-child {
  padding: 10px;
}

.grid-inner img{
	max-height: 60px;
}

.grid-catch{
	margin-top: 120px;
	text-align: center;
}

.grid-item{
padding: 30px 0;
text-align: center;
background-color: var(--section);
border-radius: 10px;
box-shadow: 0 3px 9px rgba(0, 0, 0, 0.2);
}

.grid-item-3{
    padding: 30px 0;
    text-align: center;
    background-color: var(--section);
    border-radius: 10px;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.2);
    display: grid;
    align-self: center;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;

}

.grid-item .col-icon{
	font-size: xx-large;
	color: var(--accent);
}

.grid-item-3 .col-icon-3{
	font-size: large;
	color: var(--accent);
}

.grid-item .col-title{
	font-weight: bold;
}
.grid-item .col-text{
	font-size: 12px;
}

.bd-tp{
	border-top: 1px solid #eee;
}

.bd-bt{
	border-bottom: 1px solid #eee;
}

/* スマホタイポグラフィ */

@media(max-width:768px){

h1{
font-size:32px;
}

h2{
font-size:26px;
}

body{
font-size:14px;
}

section{
padding:60px 0;
}

.section-inner section{
padding:20px 0;
}
}

/* news + instagram */


.news-social{
	background: var(--section);
}

.news-social-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:80px;

align-items:stretch;

}

.news-area,
.instagram-area{

display:flex;
flex-direction:column;
height:100%;

}

.news-area,
.instagram-area{

display:flex;
flex-direction:column;
height:100%;

}

.news-head{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}

.news-list{

border-top:1px solid #eee;

}

.news-item{

border-bottom:1px solid #eee;

}

.news-item a{
	display:grid;
	grid-template-columns:90px 80px 1fr;
	gap:20px;
	align-items:center;
	padding:16px 0;
	transition:.3s;
}

.news-item a:hover{

color:var(--accent);

}

.news-date{

font-size:12px;

color:#888;

min-width:90px;

}

.news-tag{
font-size:10px;
letter-spacing:.15em;
border:1px solid var(--accent);
color:var(--accent);
padding:3px 8px;
min-width:70px;
text-align:center;
white-space:nowrap;
display:inline-block;
}


.news-title{

font-size:14px;

}

.news-more,
.insta-link{

margin-top:auto;

align-self:flex-start;

font-size:13px;

letter-spacing:.12em;

border-bottom:1px solid #000;

padding-bottom:3px;

margin-top:20px;

	}
	
	
	
	.news-more i{
		color: var(--accent);
	}
		
@media(max-width:768px){

	.news-social-grid{
		grid-template-columns:1fr;
		gap:60px;
	}

	/* =========================
	   News SP Layout
	========================= */

	.news-item a{
		display:grid;
		grid-template-columns:90px 1fr;
		grid-template-rows:auto auto;
		column-gap:15px;
		row-gap:4px;
		align-items:center;
		padding:14px 0;
	}

	.news-date{
		grid-column:1;
		grid-row:1;
		font-size:11px;
		min-width:0;
	}

	.news-tag{
		grid-column:1;
		grid-row:2;
		justify-self:start;
		font-size:9px;
		min-width:0;
		padding:3px 7px;
	}

	.news-title{
		grid-column:2;
		grid-row:1 / 3;
		font-size:13px;
		line-height:1.7;
	}

	.news-more,
	.insta-link{
		align-self:flex-end;
	}

}

/* instagram */

.instagram-area{

display:flex;

flex-direction:column;

height:100%;

}

.instagram-area h2{

margin-bottom:30px;

}

.insta-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px;
}

.insta-grid a{
display:block;
aspect-ratio:3/4;
overflow:hidden;
}

.insta-grid img{
width:100%;
height:100%;
object-fit:cover;
transition:.4s;
}

.insta-grid a:hover img{
transform:scale(1.08);
}

.news-list{
flex-grow:1;
}


.insta-link i{
	color: var(--accent);
}

#sb_instagram .sbi_item{
overflow:hidden;
}

#sb_instagram img{
transition:.5s;
}

#sb_instagram a:hover img{
transform:scale(1.08);
}

@media(max-width:768px){

.news-social-grid{

grid-template-columns:1fr;

gap:60px;

}
.news-more,
.insta-link{
	align-self:flex-end;
}
}

/*① シンプル中央タイプ（LP向け）*/
.research-badge{
    margin: 0 auto;
    text-align: center;
    width: 50%;
    position: relative;
    padding: 30px 0;
}

.research-badge::before{
content: '';
background: -webkit-linear-gradient(left, transparent, var(--accent), transparent);
background: linear-gradient(to right, transparent, var(--accent), transparent);
position: absolute;
left: 0;
top: 10px;
width: 100%;
height: 1px;

}

.research-badge::after{
    content: '';
    background: -webkit-linear-gradient(left, transparent, var(--accent), transparent);
    background: linear-gradient(to right, transparent, var(--accent), transparent);
    position: absolute;
    left: 0;
    bottom: 10px;
    width: 100%;
    height: 1px;

}

.research-inner{
  display:flex;
  align-items:center;
justify-content: center;
  gap:18px;
  padding:20px 28px;
  border:1px solid var(--accent);
  border-radius:6px;
  background:white;
}

.research-logo{
  color:#8b7355;
  font-size:14px;
}

.resarch-logo2{
	  display:flex;
	  align-items:center;
	  gap:18px;
	  padding:20px 28px;
	  border:1px solid #e5e0d8;
	  border-radius:6px;
	  background:#faf9f7;
	text-align: center;
	font-size: 16px;
	color: #000;
}

.research-logo img,
.research-logo2 img{
	height:60px;
}

.research-text h4{
  margin:0;
  font-size:16px;
  font-weight:500;
}

.research-text p{
  margin:4px 0 0;
  font-size:13px;
  color:#777;
}


.research-logo-area{
grid-template-columns: 1fr .2fr 1fr;
display: grid;
gap: 1rem;
	align-items: center;
	height:50px;
}

.research-logo-area img{
		height:100%;
}

@media only screen and (max-width:768px){
.research-inner{
        display: grid;
        padding: 10px;
        gap: 5px;
}
.research-badge{
width:100%;
}

.research-logo-area{
    grid-template-columns: 1fr .2fr 1fr;
    display: grid;
    gap: 1rem;
    align-items: center;
    justify-items: center;
grid-template-rows: 50px;
}
}

/*② カルティエ風ライン装飾タイプ*/
.research-luxury{
  text-align:center;
  margin:60px 0;
}

.research-line-tp{
  width:60px;
  height:1px;
  background:#8b7355;
  margin:0 auto 16px;
}

.research-line-bt{
  width:60px;
  height:1px;
  background:#8b7355;
  margin:16px auto 0;
}

.research-luxury .research-inner{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

/*③研究証明バッジ風*/
.research-proof{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  margin:50px 0;
}

.proof-icon{
  border:2px solid #8b7355;
  padding:12px 16px;
  font-size:12px;
  color:#8b7355;
  letter-spacing:0.1em;
}

.proof-text h4{
  margin:0;
  font-size:18px;
}

.proof-text p{
  margin:4px 0 0;
  color:#666;
  font-size:13px;
}


/* =========================================================
Readable Cartier Table
========================================================= */

.table20,
.table30{

width:100%;

border-collapse:separate;

border-spacing:0;

margin-top:24px;

border-top:
2px double rgba(188,158,120,.28);

background:#fff;

}


/* =====================
行
===================== */

.table20 tr,
.table30 tr{

border-bottom:
1px solid rgba(0,0,0,.06);

transition:.35s;

}


.table20 tr:last-child,
.table30 tr:last-child{

border-bottom:none;

}


@media(min-width:768px){

.table20 tr:hover,
.table30 tr:hover{

background:
rgba(188,158,120,.03);

}

}


/* =====================
セル
===================== */

.table20 th,
.table20 td,
.table30 th,
.table30 td{

padding:18px 20px;

vertical-align:top;

}


/* =====================
左ラベル
===================== */

.table20 th,
.table30 th{

background:

linear-gradient(
90deg,
rgba(188,158,120,.10),
rgba(188,158,120,.04)
);

font-size:13px;

font-weight:600;

letter-spacing:.08em;

text-align:left;

white-space:nowrap;

border-right:
1px solid rgba(188,158,120,.12);

}


/* 幅 */

.table20 th{

width:20%;

}

.table30 th{

width:30%;

}


/* =====================
本文
===================== */

.table20 td,
.table30 td{

font-size:14px;

line-height:2;

color:#444;

background:#fff;

}


/* =========================================================
体験テーブル色分け
========================================================= */

.table20 tr:nth-child(1) th{

color:#aa7460;

}

/* Before */

.table20 tr:nth-child(2) th{

color:var(--accent);

}

/* 体験 */

.table20 tr:nth-child(3) th{

color:#76956c;

}

/* After */

.table20 tr:nth-child(4) th{

color:#666;

}

/* 3ヶ月後 */


/* =========================================================
SP
========================================================= */

@media(max-width:768px){

.table20,
.table30{

display:block;

border-top:
1px solid rgba(188,158,120,.2);

}


.table20 tr,
.table30 tr{

display:block;

padding:16px 0;

}


.table20 th,
.table30 th{

display:block;

width:100%;

padding:10px 14px;

border-right:none;

margin-bottom:10px;

border-radius:8px;

}


.table20 td,
.table30 td{

display:block;

padding:0 8px;

}

}

.flex-box{
display:flex;
gap:10px;
}
.flex-1{
flex:1;
}


/* CTA*/
.cta{
text-align:center;
}

.cta-button{
display:inline-block;
margin-top:20px;
padding:14px 40px;
background:#8b7355;
color:white;
border-radius:40px;
font-size:14px;
letter-spacing:.1em;
}



/* VOICE*/
.voice-slider{
display:flex;
gap:30px;
overflow-x:auto;
scroll-snap-type:x mandatory;
padding-bottom:10px;
}

.voice-card{
min-width:280px;
scroll-snap-align:start;
}

.voice-card img{
border-radius:8px;
}

.voice-card p{
font-size:14px;
margin-top:12px;
color:#444;
}

/* =========================
FAQ
========================= */

.section-faq{
    display: block;
    padding: 20px;
    /*background-color: white;*/
}
	
	.section-faq h3{
		font-weight:bold;
		color:var(--accent);
		font-size: 1.4em;
		margin-bottom:15px;
	}
	
.faq-list{
		border-top:1px solid #ddd;
		margin-bottom:40px;
}

.faq-item{
		border-bottom:1px solid #ddd;
		padding:0 15px;
}

/* question */


	
	.faq-title {
width:100%;
background:none;
border:none;

text-align:left;
  position: relative;
  
  font-family: "Playfair Display", serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
  
  line-height: 1.6;
  color: #111;
  
  padding: 10px 0 0 40px;
  margin-bottom: 20px;
  
  cursor: pointer;
}

/* Q */

.faq-title::before{
  content: "Q";
  position: absolute;
  left: 0;
  top: 10px;
font-family:"Playfair Display",serif;

color:var(--accent);

  font-weight: bold;
font-size:18px;

}

/* arrow */

.faq-title::after{

content:"";

position:absolute;

right:0;
top:50%;

width:7px;
height:7px;

border-right:2px solid var(--accent);
border-bottom:2px solid var(--accent);

transform:translateY(-50%) rotate(45deg);

transition:.3s;

}

/* open */

.faq-item.active .faq-title::after{

transform:translateY(-50%) rotate(-135deg);

}

/* answer */

.faq-answer{

max-height:0;
overflow:hidden;
padding-left: 40px;
transition:all 0.6s ease;

}

.faq-answer p{


margin-bottom: 12px;
  position: relative;
  font-size: 15px;
  line-height: 2.0;
  letter-spacing: 0.04em;color:#666;
align-items: baseline;
display:flex;
gap:10px;

	}
	


/* A */

.faq-answer p::before {
  content: "A";
  position: absolute;
  left: -40px;
  top: 0;
  
  font-family: "Playfair Display", serif;
  color: var(--red);
  font-weight: bold;
  font-size: 18px;
}
	
@media(max-width:768px){
	.faq-item{
		padding:0;
		}
	}
/* =========================
CTA Accordion（外側）
========================= */

.section-accordion{
  margin:80px 0 60px 0;
}

/* =========================
ベース
========================= */

.menu-accordion {
  border-top: 1px solid #e5e5e5;
  font-family: "Helvetica Neue", sans-serif;
}

/* =========================
ボタン共通
========================= */

.accordion-btn,
.menu-parent-btn,
.menu-child-btn {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;

  padding: 18px 0;
  font-size: 14px;
  letter-spacing: 0.08em;

  display: flex;
  justify-content: space-between;
  align-items: center;

  transition: opacity .3s ease;
}

.accordion-btn:hover,
.menu-parent-btn:hover,
.menu-child-btn:hover {
  opacity: .6;
}

/* 下線 */
.accordion-btn,
.menu-parent-btn,
.menu-child-btn {
  border-bottom: 1px solid #e5e5e5;
}

/* =========================
アイコン（＋→×）
========================= */

.accordion-icon {
  width: 14px;
  height: 14px;
  position: relative;
}

.accordion-icon::before,
.accordion-icon::after {
  content: "";
  position: absolute;
  background: #000;
  transition: all .4s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-icon::before {
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.accordion-icon::after {
  width: 1px;
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

/* 開いた時（−になる） */
.active .accordion-icon::after {
  transform: translateX(-50%) scaleY(0);
}

/* =========================
開閉（ここが肝）
========================= */
	
.accordion-content {
  max-height: 0;
  overflow: hidden;

  transition: max-height .6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 開いた時 */
.accordion-content.open {
  max-height: 2000px; /* 仮でOK（JSで上書き） */
}

.menu-parent-content,
.menu-child-content {
  max-height: 0;

  opacity: 0;
  transform: translateY(-6px);

  transition:
    max-height .6s cubic-bezier(0.4, 0, 0.2, 1),
    opacity .4s ease,
    transform .4s ease;
}

/* 開いた時 */
.menu-parent-content.open,
.menu-child-content.open {
  opacity: 1;
  transform: translateY(0);
}

/* 内側余白 */
.accordion-inner {
  padding: 10px 0 20px;
}

/* 階層余白 */
.menu-parent-content {
  padding-left: 10px;
}

.menu-child-content {
  padding-left: 20px;
}

/* =========================
メニューアイテム
========================= */

.menu-item {
  padding: 14px 0;
  border-bottom: 1px solid #f0f0f0;
}

.menu-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}

.menu-name {
  letter-spacing: 0.05em;
}

.menu-price {
  font-weight: 500;
}

.menu-time,
.menu-add {
  font-size: 11px;
  color: #777;
  margin-top: 4px;
}



/* =========================
CTA Banner
========================= */

.inner-banner{
  display:flex;
  align-items:center;
  justify-content: center;
  gap:18px;
  padding:12px 26px;
  border:1px solid var(--accent);
  background:#fff;
  transition:.35s;
}

.inner-banner:hover{
  background:var(--accent);
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(0,0,0,.05);
  color:white;
}

.inner-banner:hover .banner-desc{
  color:white;
}

.inner-banner:hover .banner-icon{
  background-color:white;
}

.banner-icon{
  font-size:20px;
  color:var(--accent);
  width:50px;
  text-align:center;
}

.banner-title{
  font-size:14px;
  letter-spacing:.08em;
}

.banner-desc{
  font-size:12px;
  color:#777;
}

.inner-bunner-btn{
  width:420px;
  max-width:90%;
  margin:0 auto;
}


/* =========================
レスポンシブ
========================= */

@media(max-width:768px){

  .menu-parent-btn{
    font-size:18px;
    padding:24px 0;
  }

  .menu-price{
    font-size:16px;
  }

  .accordion-inner{
    padding:30px 20px;
  }

  .inner-bunner-btn{
    width:100%;
  }

	}
	
/*ここから追加*/
	.menu-parent{
  margin:80px 0;
}

.menu-parent-title{
  font-size:26px;
  letter-spacing:.2em;
  margin-bottom:40px;
  font-family: 'Cormorant Garamond', serif;
  position:relative;
  padding-bottom:10px;
}

/* 下線 */
.menu-parent-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:60px;
  height:1px;
  background:var(--accent);
	}
	
	.menu-item{
  padding:20px 0;
  border-bottom:1px solid rgba(0,0,0,0.05);
}

/* 最後は線なし */
.menu-item:last-child{
  border:none;
	}
	
	.menu-row{
  display:flex;
  align-items:center;
  gap:10px;
}

/* 点線 */
.menu-name::after{
  content:"";
  flex:1;
  border-bottom:1px dotted #ccc;
}

/* 名前 */
.menu-name{
  display:flex;
  align-items:center;
  flex:1;
  gap:10px;
}

/* 価格 */
.menu-price{
  white-space:nowrap;
	}
	
	
	/*ここまで追加*/

  .content {
    display: grid; /* これで子要素が横並びになる */
    gap: 20px; /* 要素間の余白 */
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  }
  .left{
    
  }
	
	.right {
    
	}
	
	.content-about{
		display: grid;
		grid-template-rows: 1fr auto;
		height: 100%;
	}
	
	.about-link{
		color:var(--accent);
	}
	.about-link a{
    position: relative;
}
	
	/* 下線（デフォルトは見えない） */
.about-link a::after {
  content: ""!important;
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0%;
  height: 1px;
  background: var(--accent);
  transition: width 0.4s ease;
}
	/* hoverでスーッと線 */
.about-link a:hover::after {
  width: 100%;
}


/* =========================
   Cartier風 Pagination
========================= */

.pagination {
  margin: 80px 0 0;
  text-align: center;
  font-family: "Helvetica Neue", "Yu Mincho", serif;
  letter-spacing: 0.08em;
}

/* 各番号 */
.pagination .page-numbers {
  position: relative;
  display: inline-block;
  margin: 0 14px;
  padding: 6px 2px;
  font-size: 14px;
  color: #111;
  text-decoration: none;
  transition: all 0.4s ease;
}

/* 下線（デフォルトは見えない） */
.pagination .page-numbers::after {
  content: ""!important;
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0%;
  height: 1px;
  background: var(--accent);
  transition: width 0.4s ease;
}

/* hoverでスーッと線 */
.pagination .page-numbers:hover::after {
  width: 100%;
}

/* 現在ページ */
.pagination .current {
  font-weight: 500;
}

.pagination .current::after {
  width: 100%;
}

/* 前へ・次へ */
.pagination .prev,
.pagination .next {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin: 0 24px;
		color:var(--accent);
		font-weight:bold;
}

/* 矢印を細く美しく */
.pagination .prev::before {
  content: "";
}
	
.pagination .next {
  font-size: 12px;
		letter-spacing: 0.2em;
		color:var(--accent);
}
.pagination .next::after {
  content: " —";
  font-size: 18px; /* ← 矢印だけ大きく */
  display: inline-block;
		transform: translateY(-1px); /* 微調整 */
	}

/* ドット（...） */
.pagination .dots {
  color: #aaa;
}

button{
	    color: #222!important;
}
