@charset "utf-8";

/* =========================
   JEWELRY ATELIER 共通上書きCSS
   chatgpt-custom.css
========================= */

/* ---------- 基本 ---------- */
html{
	-webkit-text-size-adjust:100%;
}

body{
	background:#f8f3ea;
	color:#352c24;
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-size:16px;
	line-height:1.95;
	letter-spacing:0.02em;
	font-weight:400;
	text-rendering:optimizeLegibility;
}

img{
	max-width:100%;
	height:auto;
}

a{
	transition:all .2s ease;
}

p,
li,
dd,
dt{
	word-break:break-word;
}

/* ---------- 見出し ---------- */
h1{
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-size:34px;
	line-height:1.6;
	font-weight:700;
	color:#2f251c;
	letter-spacing:0.01em;
}

h2{
	font-family:'Crimson Text','Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo',serif;
	font-size:30px;
	line-height:1.55;
	font-weight:700;
	color:#2f251c;
	letter-spacing:0.02em;
}

h3,
h4,
h5,
h6{
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-weight:700;
	color:#30261d;
	line-height:1.7;
	letter-spacing:0.02em;
}

/* ---------- 共通本文 ---------- */
.lead,
.top-lead,
.info-copy,
.access-top,
.t_data.small{
	font-size:16px;
	line-height:2;
	color:#4a4036;
	letter-spacing:0.01em;
	font-weight:400;
}

/* ---------- ロゴ・メニュー ---------- */
#logo a,
#logo span,
.menu-1 a,
.menu-2 a,
.dropdown a{
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	letter-spacing:0.01em;
}

#logo a span{
	font-weight:700;
}

/* ---------- 画像共通 ---------- */
.top-main-visual,
.top-soft-img,
.top-card img,
.heading img,
.item_list_area img{
	border-radius:14px;
}

/* ---------- カード共通 ---------- */
.top-card,
.t_item,
.item_data{
	box-shadow:0 8px 22px rgba(67,48,24,0.06);
}

/* ---------- 商品名・商品情報 ---------- */
.item_tit{
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-size:18px;
	line-height:1.65;
	font-weight:700;
	color:#31271e;
	letter-spacing:0.01em;
}

.item_tit span{
	display:block;
	font-size:13px;
	line-height:1.65;
	font-weight:500;
	color:#6b5a48;
	letter-spacing:0.02em;
}

.item_material{
	font-size:13px;
	line-height:1.85;
	color:#5c4d3d;
	font-weight:400;
}

/* ---------- ボタン共通 ---------- */
.top-main-btn,
.top-sub-btn,
.btn_2023_02,
.data_btn a{
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-weight:700;
	letter-spacing:0.02em;
	border-radius:999px;
	text-decoration:none;
}

.top-main-btn:hover,
.top-sub-btn:hover,
.btn_2023_02:hover,
.data_btn a:hover{
	text-decoration:none;
	opacity:0.95;
}

/* ---------- CTA系 ---------- */
.top-hero-link a{
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-weight:700;
	letter-spacing:0.02em;
	line-height:1.55;
}

/* ---------- 下部リンク ---------- */
.link_box02 a{
	font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-weight:500;
	line-height:1.85;
	letter-spacing:0.01em;
}

/* =========================
   タブレット以下
========================= */
@media screen and (max-width: 991px){
	h1{
		font-size:30px;
	}
	h2{
		font-size:26px;
	}
	.item_tit{
		font-size:17px;
	}
}

/* =========================
   スマホ
========================= */
@media screen and (max-width: 767px){
	body{
		font-size:15px;
		line-height:1.95;
	}

	.container{
		padding-left:14px;
		padding-right:14px;
	}

	h1{
		font-size:20px;
		line-height:1.7;
		letter-spacing:0;
		margin-top:26px;
		margin-bottom:16px;
		padding-left:16px;
		padding-right:16px;
	}

	h2{
		font-size:22px;
		line-height:1.6;
		padding-left:8px;
		padding-right:8px;
	}

	h3{
		font-size:18px;
		line-height:1.7;
	}

	.lead,
	.top-lead,
	.info-copy,
	.access-top,
	.t_data.small{
		font-size:14px;
		line-height:1.95;
	}

	.item_tit{
		font-size:15px;
		line-height:1.6;
	}

	.item_tit span{
		font-size:12px;
	}

	.item_material{
		font-size:11px;
		line-height:1.75;
	}

	.top-main-btn,
	.top-sub-btn,
	.btn_2023_02{
		font-size:15px;
		line-height:1.55;
		padding-top:14px;
		padding-bottom:14px;
	}

	.data_btn a{
		display:block;
		width:100%;
		font-size:13px;
		line-height:1.45;
		padding:10px 10px;
	}

	iframe{
		height:320px !important;
		min-height:320px !important;
	}
}

/* =========================
   小さいスマホ
========================= */
@media screen and (max-width: 480px){
	h1{
		font-size:19px;
		padding-left:14px;
		padding-right:14px;
	}

	h2{
		font-size:21px;
	}

	.lead,
	.top-lead,
	.info-copy,
	.access-top,
	.t_data.small{
		font-size:14px;
		line-height:1.95;
	}

	.item_tit{
		font-size:14px;
	}

	.item_material{
		font-size:11px;
	}

	.data_btn a{
		font-size:12px;
		padding:9px 8px;
	}
}

/* =========================
   トップページの中央寄せ補正
========================= */

.top-lead{
	text-align:center !important;
	margin-left:auto !important;
	margin-right:auto !important;
}

.top-image-caption{
	text-align:center !important;
}

.top-image-caption a{
	display:inline-block;
}

.top-section-title{
	text-align:center !important;
}

.top-section-title .ja{
	text-align:center !important;
}

.top-reserve-box,
.top-info-box,
.access-copy{
	margin-left:auto !important;
	margin-right:auto !important;
}

.t_item{
	text-align:center !important;
}

.t_item dt,
.t_item dd,
.t_item ul,
.t_item li{
	text-align:center !important;
}

.t_item dd ul{
	padding-left:0 !important;
	margin-left:0 !important;
}

.item_name,
.t_spe,
.t_data.small{
	text-align:center !important;
}

.heading{
	text-align:center !important;
}

.heading img{
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.item_data{
	text-align:center !important;
}

.item_data dt,
.item_data dd{
	text-align:center !important;
}

.info-headline,
.info-copy,
.access-top{
	text-align:center !important;
}

#info{
	text-align:center;
}

#info img{
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.top-card{
	text-align:center !important;
}

.top-card p,
.top-card h2{
	text-align:center !important;
	margin-left:auto;
	margin-right:auto;
}



/* =========================
   トップページ 微調整（安全版）
   H1・リード文・CTA・縦余白のみ
========================= */

/* ファーストビュー直下 */
h1{
	margin-top:24px;
	margin-bottom:14px;
}

.top-lead{
	margin-top:0;
	margin-bottom:20px;
}

.top-hero-link{
	margin-top:10px;
	margin-bottom:24px;
}

/* 画像下のリンク文字 */
.top-image-caption{
	margin-top:12px;
	margin-bottom:10px;
}

/* セクション見出し */
.top-section-title{
	margin-top:26px;
	margin-bottom:18px;
}

/* カード上下余白 */
.top-card{
	margin-top:28px;
	margin-bottom:28px;
}

/* 予約や案内セクションの区切り */
.top-spacer{
	margin-bottom:42px;
}

.top-reserve-box{
	margin-top:0;
	margin-bottom:0;
}

.top-info-box{
	margin-bottom:34px;
}

/* ご来店予約画像下の文 */
.info-copy{
	margin-top:14px;
	margin-bottom:18px;
}

/* アクセス文 */
.access-top{
	margin-top:18px;
}

/* スマホ */
@media screen and (max-width: 767px){

	h1{
		margin-top:18px !important;
		margin-bottom:12px !important;
		padding-left:14px;
		padding-right:14px;
	}

	.top-lead{
		margin-bottom:16px !important;
		padding-left:14px;
		padding-right:14px;
	}

	.top-hero-link{
		margin-top:8px !important;
		margin-bottom:18px !important;
		padding-left:12px;
		padding-right:12px;
	}

	.top-image-caption{
		margin-top:10px !important;
		margin-bottom:8px !important;
	}

	.top-section-title{
		margin-top:22px !important;
		margin-bottom:14px !important;
	}

	.top-card{
		margin-top:22px !important;
		margin-bottom:22px !important;
	}

	.top-spacer{
		margin-bottom:30px !important;
	}

	.top-info-box{
		margin-bottom:26px !important;
	}

	.info-copy{
		margin-top:12px !important;
		margin-bottom:14px !important;
	}

	.access-top{
		margin-top:14px !important;
	}
}



.pankuzu_catetop{
	border:none !important;
	box-shadow:none !important;
}


.toha-links{
	text-align:center;
	margin:26px 0 8px;
}

.toha-link-chip{
	display:inline-block;
	margin:8px 6px 0;
	padding:10px 16px;
	border-radius:999px;
	background:linear-gradient(180deg,#faf4ea 0%,#eee1cd 100%);
	border:1px solid #c7ab84;
	color:#644c31;
	text-decoration:none;
	font-weight:700;
	line-height:1.5;
	box-shadow:0 6px 14px rgba(85,62,31,0.08);
}

.toha-link-chip:hover{
	color:#644c31;
	text-decoration:none;
	opacity:0.95;
}

@media screen and (max-width: 767px){
	.toha-link-chip{
		display:block;
		width:100%;
		max-width:320px;
		margin:8px auto 0;
		text-align:center;
	}
}


/* 本文リンクを見やすくする */
.toha-page a,
.toha-soft a,
.toha-card a,
.toha-cta a,
.mr-page a,
.mr-soft a,
.mr-card a{
	color:#8a6a43 !important;
	font-weight:700;
	text-decoration:none;
	border-bottom:1px solid rgba(138,106,67,0.35);
}

.toha-page a:hover,
.toha-soft a:hover,
.toha-card a:hover,
.toha-cta a:hover,
.mr-page a:hover,
.mr-soft a:hover,
.mr-card a:hover{
	color:#6f5333 !important;
	text-decoration:none;
	border-bottom:1px solid rgba(111,83,51,0.55);
}

/* ボタン系リンクは本文リンク色の影響を受けないようにする */
.toha-btn-primary,
.toha-btn-secondary,
.top-main-btn,
.top-sub-btn,
.mr-btn-primary,
.mr-btn-secondary,
.data_btn a,
.btn_2023_02{
	border-bottom:none !important;
}


/* ボタン文字色をはっきり固定 */
.toha-btn-primary,
.toha-btn-primary:link,
.toha-btn-primary:visited,
.toha-btn-primary:hover,
.toha-btn-primary:focus{
	color:#fffaf4 !important;
	border-bottom:none !important;
}

.toha-btn-secondary,
.toha-btn-secondary:link,
.toha-btn-secondary:visited,
.toha-btn-secondary:hover,
.toha-btn-secondary:focus{
	color:#644c31 !important;
	border-bottom:none !important;
}

.mr-btn-primary,
.mr-btn-primary:link,
.mr-btn-primary:visited,
.mr-btn-primary:hover,
.mr-btn-primary:focus,
.top-main-btn,
.top-main-btn:link,
.top-main-btn:visited,
.top-main-btn:hover,
.top-main-btn:focus{
	color:#fffaf4 !important;
	border-bottom:none !important;
}

.mr-btn-secondary,
.mr-btn-secondary:link,
.mr-btn-secondary:visited,
.mr-btn-secondary:hover,
.mr-btn-secondary:focus,
.top-sub-btn,
.top-sub-btn:link,
.top-sub-btn:visited,
.top-sub-btn:hover,
.top-sub-btn:focus{
	color:#644c31 !important;
	border-bottom:none !important;
}

.data_btn a,
.data_btn a:link,
.data_btn a:visited,
.data_btn a:hover,
.data_btn a:focus,
.btn_2023_02,
.btn_2023_02:link,
.btn_2023_02:visited,
.btn_2023_02:hover,
.btn_2023_02:focus{
	border-bottom:none !important;
}
