/*
Theme Name: やまだや
Description: やまだやホームページのテーマです
Version: 1.0
*/

@charset "utf-8";
/* ============================================================
   やまだや カスタムスタイル
   ============================================================ */

:root {
	--ink          : #1a1814;
	--ink-mid      : #4a4744;
	--ink-light    : #8a8784;
	--paper        : #faf9f7;
	--paper-warm   : #f3f1ed;
	--accent       : #c8441a;
	--accent-hover : #d4522e;
	--line         : #dedad4;
	--magenta      : #c2006e;
	--magenta-hover: #9a0057;
}

/* ============================================================
   BASE
   ============================================================ */

body {
	font-size: 17px;
}

.ym-service-desc,
.ym-blog-body p,
.ym-about-text p,
.ym-contact-body {
	font-size  : 1rem;
	line-height: 1.9;
}

.ym-faq-item {
	font-size: 1rem;
}

/* ============================================================
   HEADER
   ============================================================ */

.ym-header {
	position      : fixed;
	top: 0; left: 0; right: 0;
	z-index       : 100;
	background    : var(--paper);
	border-bottom : 1px solid var(--line);
}

.ym-header::before {
	content  : '';
	position : absolute;
	top: 0; left: 0; right: 0;
	height   : 3px;
	background: var(--accent);
}

.ym-inner {
	max-width      : 1080px;
	margin         : 0 auto;
	padding        : 0 48px;
	height         : 72px;
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	gap            : 32px;
}

.ym-logo {
	display    : flex;
	align-items: center;
	flex-shrink: 0;
	margin     : 0;
}

.ym-logo a {
	display        : flex;
	align-items    : center;
	gap            : 14px;
	text-decoration: none;
}

.ym-logo .img {
	height : 36px;
	width  : auto;
	display: block;
}

.ym-logo-text {
	display       : flex;
	flex-direction: column;
	gap           : 2px;
}

.ym-logo-ja {
	font-family   : 'Shippori Mincho', serif;
	font-size     : 18px;
	font-weight   : 600;
	letter-spacing: 0.15em;
	color         : var(--ink);
	line-height   : 1;
}

.ym-logo-en {
	font-family   : 'DM Serif Display', serif;
	font-size     : 9px;
	letter-spacing: 0.25em;
	color         : var(--ink-light);
	line-height   : 1;
}

.ym-divider {
	width      : 1px;
	height     : 28px;
	background : var(--line);
	flex-shrink: 0;
}

.ym-nav { flex: 1; }

.ym-nav ul {
	display    : flex;
	align-items: center;
	list-style : none;
	margin     : 0;
	padding    : 0;
	gap        : 0;
}

.ym-nav ul li a {
	display        : block;
	padding        : 8px 20px;
	font-family    : 'Noto Serif JP', serif;
	font-size      : 13px;
	font-weight    : 300;
	letter-spacing : 0.12em;
	color          : var(--ink-mid);
	text-decoration: none;
	position       : relative;
	transition     : color 0.2s;
}

.ym-nav ul li a::after {
	content         : '';
	position        : absolute;
	bottom          : 2px;
	left            : 20px;
	right           : 20px;
	height          : 1px;
	background      : var(--accent);
	transform       : scaleX(0);
	transform-origin: left;
	transition      : transform 0.28s cubic-bezier(.4, 0, .2, 1);
}

.ym-nav ul li a:hover { color: var(--ink); }
.ym-nav ul li a:hover::after { transform: scaleX(1); }

.ym-cta {
	flex-shrink    : 0;
	display        : inline-flex;
	align-items    : center;
	padding        : 9px 20px;
	background     : var(--accent);
	color          : #fff;
	font-family    : 'Noto Serif JP', serif;
	font-size      : 12px;
	font-weight    : 300;
	letter-spacing : 0.1em;
	text-decoration: none;
	transition     : background 0.2s;
	border         : none;
	cursor         : pointer;
}

.ym-cta:hover { background: var(--accent-hover); color: #fff; }

.ym-burger {
	display        : none;
	width          : 36px;
	height         : 36px;
	align-items    : center;
	justify-content: center;
	cursor         : pointer;
	background     : none;
	border         : none;
	flex-direction : column;
	gap            : 5px;
	padding        : 0;
}

.ym-burger span {
	display         : block;
	width           : 22px;
	height          : 1px;
	background      : var(--ink);
	transition      : all 0.25s ease;
	transform-origin: center;
}

.ym-burger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ym-burger.open span:nth-child(2) { opacity: 0; }
.ym-burger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.ym-mobile-nav {
	display      : none;
	position     : absolute;
	top          : 100%;
	left: 0; right: 0;
	background   : var(--paper);
	border-bottom: 1px solid var(--line);
	z-index      : 100;
	padding      : 8px 0 16px;
}

.ym-mobile-nav.open { display: block; }

.ym-mobile-nav a {
	display        : block;
	padding        : 12px 24px;
	font-family    : 'Noto Serif JP', serif;
	font-size      : 13px;
	font-weight    : 300;
	letter-spacing : 0.1em;
	color          : var(--ink-mid);
	text-decoration: none;
	border-bottom  : 1px solid var(--paper-warm);
	transition     : color 0.18s, background 0.18s;
}

.ym-mobile-nav a:hover { color: var(--ink); background: var(--paper-warm); }

.ym-mobile-nav .ym-mobile-cta {
	display        : inline-block;
	margin         : 16px 24px 0;
	padding        : 10px 24px;
	background     : var(--accent);
	color          : #fff;
	font-family    : 'Noto Serif JP', serif;
	font-size      : 13px;
	font-weight    : 300;
	letter-spacing : 0.1em;
	text-decoration: none;
}

.ym-mobile-nav .ym-mobile-cta:hover { background: var(--accent-hover); color: #fff; }

/* ============================================================
   HERO
   ============================================================ */

.ym-hero {
	margin-top   : 75px;
	padding      : 100px 48px 80px;
	border-bottom: 1px solid var(--line);
}

.ym-hero-label {
	font-size     : 11px;
	letter-spacing: 0.3em;
	color         : var(--ink-light);
	text-transform: uppercase;
	font-family   : 'DM Serif Display', serif;
	margin-bottom : 10px;
}

.ym-h1 { font-family: 'Shippori Mincho', serif; font-weight: 600; }

.ym-h1-sitetitle {
	display       : block;
	font-size     : 13px;
	font-weight   : 300;
	color         : var(--ink-light);
	letter-spacing: 0.12em;
	margin-bottom : 16px;
	border-left   : 2px solid var(--accent);
	padding-left  : 12px;
	line-height   : 1.6;
}

.ym-hero-headline  {
	display       : block;
	font-size     : clamp(26px, 3.5vw, 40px);
	line-height   : 1.65;
	letter-spacing: 0.05em;
	margin-bottom : 36px;
}

.ym-hero-headline  span.bold { font-style: normal; color: var(--accent); }

.ym-hero-sub {
	font-size  : 14px;
	font-weight: 300;
	color      : var(--ink-mid);
	line-height: 2.1;
	max-width  : 400px;
}

/* ============================================================
   TAGS
   ============================================================ */

.ym-tags {
	display   : flex;
	flex-wrap : wrap;
	gap       : 8px;
	margin-top: 24px;
	list-style: none;
	padding   : 0;
}

.ym-tag {
	font-size     : 11px;
	letter-spacing: 0.1em;
	color         : var(--ink-mid);
	border        : 1px solid var(--line);
	padding       : 4px 12px;
	font-weight   : 300;
}

/* ============================================================
   SECTION BASE
   ============================================================ */

.ym-section { padding: 80px 48px; border-bottom: 1px solid var(--line); }

.ym-sec-label {
	font-size     : 11px;
	letter-spacing: 0.3em;
	color         : var(--ink-light);
	text-transform: uppercase;
	font-family   : 'DM Serif Display', serif;
	margin-bottom : 10px;
}

.ym-sec-title {
	font-family   : 'Shippori Mincho', serif;
	font-size     : clamp(18px, 2.2vw, 26px);
	font-weight   : 600;
	letter-spacing: 0.08em;
	margin-bottom : 16px;
	line-height   : 1.6;
}

.ym-sec-subtitle {
	font-size     : 13px;
	font-weight   : 300;
	color         : var(--ink-light);
	letter-spacing: 0.05em;
	margin-bottom : 48px;
}

/* ============================================================
   SERVICES
   ============================================================ */

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

.ym-service-item {
	padding      : 32px 28px;
	border-right : 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	transition   : background 0.2s;
}

.ym-service-item:nth-child(3n) { border-right: none; }

.ym-service-item:nth-child(4),
.ym-service-item:nth-child(5),
.ym-service-item:nth-child(6) { border-bottom: none; }

.ym-service-item:hover { background: var(--paper-warm); }

.ym-service-num {
	font-family   : 'DM Serif Display', serif;
	font-size     : 11px;
	color         : var(--accent);
	letter-spacing: 0.2em;
	margin-bottom : 12px;
}

.ym-service-item h3 {
	font-family   : 'Shippori Mincho', serif;
	font-size     : 14px;
	font-weight   : 600;
	letter-spacing: 0.08em;
	margin-bottom : 12px;
	color         : var(--ink);
	line-height   : 1.6;
}

.ym-service-desc {
	font-size  : 13px;
	font-weight: 300;
	color      : var(--ink-mid);
	line-height: 2;
}

/* ============================================================
   BLOG LIST（フロントページ・一覧ページ共通）
   ============================================================ */

.ym-blog-list {
	list-style: none;
	padding   : 0 0 60px;
	margin    : 0;
}

.ym-blog-card {
	display        : flex;
	align-items    : baseline;
	gap            : 1.5rem;
	padding        : 1rem 0;
	border-bottom  : 1px solid var(--line);
	text-decoration: none;
	color          : inherit;
}

.ym-blog-card:hover .ym-blog-card-title {
	text-decoration: underline;
}

.ym-blog-card-date {
	font-size            : 0.8rem;
	color                : var(--ink-light);
	white-space          : nowrap;
	font-feature-settings: "tnum";
}

.ym-blog-card-title {
	margin     : 0;
	font-size  : 1rem;
	line-height: 1.6;
}

.ym-blog-more {
	display        : inline-block;
	margin-top     : 32px;
	font-size      : 13px;
	letter-spacing : 0.15em;
	color          : var(--ink-mid);
	border-bottom  : 1px solid var(--line);
	padding-bottom : 2px;
	text-decoration: none;
	font-weight    : 300;
	transition     : color 0.2s, border-color 0.2s;
}

.ym-blog-more:hover { color: var(--accent); border-color: var(--accent); }

.ym-no-posts {
	font-size  : 14px;
	font-weight: 300;
	color      : var(--ink-light);
}

.ym-pagination { margin-top: 64px; }

/* スクリーンリーダー用テキスト（視覚的に非表示） */
.screen-reader-text {
	position   : absolute !important;
	clip       : rect(1px, 1px, 1px, 1px);
	width      : 1px !important;
	height     : 1px !important;
	overflow   : hidden !important;
	word-wrap  : normal !important;
	white-space: nowrap;
	border     : 0;
	padding    : 0;
	margin     : -1px;
}

/* ページ送りリンク */
.ym-pagination .nav-links {
	display        : flex;
	flex-wrap      : wrap;
	align-items    : center;
	justify-content: center;
	gap            : 8px;
}

.ym-pagination .page-numbers {
	display        : inline-flex;
	align-items    : center;
	justify-content: center;
	min-width      : 40px;
	height         : 40px;
	padding        : 0 12px;
	font-size      : 14px;
	font-family    : 'DM Serif Display', serif;
	letter-spacing : 0.04em;
	color          : var(--ink-mid);
	background     : transparent;
	border         : 1px solid var(--line);
	text-decoration: none;
	transition     : color 0.2s, border-color 0.2s, background 0.2s;
}

.ym-pagination .page-numbers:hover {
	color       : var(--accent);
	border-color: var(--accent);
}

.ym-pagination .page-numbers.current {
	color      : #fff;
	background : var(--accent);
	border-color: var(--accent);
}

.ym-pagination .page-numbers.dots {
	border     : none;
	min-width  : auto;
	padding    : 0 4px;
	color      : var(--ink-light);
}

.ym-pagination .page-numbers.prev,
.ym-pagination .page-numbers.next {
	padding       : 0 16px;
	font-family   : inherit;
	font-size     : 13px;
	letter-spacing: 0.08em;
}

/* ============================================================
   BLOG BODY / FAQ（フロントページ）
   ============================================================ */

.ym-blog-inner { display: block; }
.ym-blog-inner .ym-faq-list { margin-top: 40px; }

.ym-blog-body {
	font-size  : 14px;
	font-weight: 300;
	color      : var(--ink-mid);
	line-height: 2.2;
}

.ym-blog-body p { margin-bottom: 1.6em; }
.ym-blog-body p:last-child { margin-bottom: 0; }

.ym-faq-list { display: flex; flex-direction: column; gap: 16px; }

.ym-faq-item {
	padding    : 20px 24px;
	background : var(--paper-warm);
	border-left: 3px solid var(--line);
	font-size  : 13px;
	font-weight: 300;
	color      : var(--ink-mid);
	line-height: 1.8;
}

.ym-faq-item::before {
	content       : 'Q.';
	font-family   : 'DM Serif Display', serif;
	font-size     : 11px;
	color         : var(--accent);
	letter-spacing: 0.15em;
	display       : block;
	margin-bottom : 6px;
}

.ym-blog-link {
	display        : inline-block;
	margin-top     : 32px;
	font-size      : 13px;
	letter-spacing : 0.15em;
	color          : var(--ink-mid);
	border-bottom  : 1px solid var(--line);
	padding-bottom : 2px;
	text-decoration: none;
	font-weight    : 300;
	transition     : color 0.2s, border-color 0.2s;
}

.ym-blog-link:hover { color: var(--accent); border-color: var(--accent); }

/* ============================================================
   WIKI（フロントページ #wiki / Q&Aリスト）
   ============================================================ */
.wiki-area{
  margin-bottom: 60px;
}

#wiki h3 {
	font-family   : 'Shippori Mincho', serif;
	font-size     : clamp(17px, 1.8vw, 20px);
	font-weight   : 600;
	color         : var(--ink);
	letter-spacing: 0.06em;
	line-height   : 1.6;
	margin        : 64px 0 20px;
	padding-left  : 14px;
	border-left   : 3px solid var(--accent);
}

#wiki > div:first-of-type h3 { margin-top: 8px; }

#wiki ul {
	list-style: none;
	margin    : 0;
	padding   : 0;
}

#wiki ul li {
	display      : flex;
	align-items  : flex-start;
	gap          : 12px;
	padding      : 18px 4px;
	border-bottom: 1px solid var(--line);
	font-size    : 1rem;
	line-height  : 1.75rem;
}

#wiki ul li:last-child {
  border-bottom: none;
  margin-bottom: 30px;
}

#wiki ul li > span {
	flex-shrink   : 0;
	font-family   : 'Shippori Mincho', serif;
	font-weight   : 600;
	font-size     : inherit;
	line-height   : 1;
	color         : var(--accent);
	letter-spacing: 0.02em;
	min-width     : 1.6em;
	margin-top    : 0.32em;
}

#wiki ul li > a {
	flex           : 1;
	min-width      : 0;
	color          : var(--ink);
	text-decoration: none;
	font-size      : inherit;
	line-height    : inherit;
	font-weight    : 400;
	transition     : color 0.2s;
}

#wiki ul li > a:hover {
	color          : var(--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

#wiki .ym-sec-subtitle {
	margin-bottom: 14px;
}

#wiki .category-link {
	margin: 0 0 56px;
}

#wiki .category-link a {
	display        : inline-block;
	font-size      : 12px;
	letter-spacing : 0.1em;
	color          : var(--ink-mid);
	border-bottom  : 1px solid var(--ink-light);
	padding-bottom : 2px;
	text-decoration: none;
	font-weight    : 400;
	transition     : color 0.2s, border-color 0.2s;
}

#wiki .category-link a::after {
	content     : ' →';
	margin-left : 4px;
	transition  : transform 0.2s;
	display     : inline-block;
}

#wiki .category-link a:hover {
	color       : var(--accent);
	border-color: var(--accent);
}

#wiki .category-link a:hover::after {
	transform: translateX(3px);
}

/* ============================================================
   ABOUT
   ============================================================ */

.ym-about-grid { display: block; }
.ym-about-info { margin-top: 40px; }

.ym-about-text {
	font-size  : 14px;
	font-weight: 300;
	color      : var(--ink-mid);
	line-height: 2.3;
}

.ym-about-text p { margin-bottom: 1.6em; }
.ym-about-text p:last-child { margin-bottom: 0; }

.ym-about-info { display: flex; flex-direction: column; }

.ym-info-row {
	display       : flex;
	flex-direction: column;
	gap           : 4px;
	padding       : 16px 0;
	border-bottom : 1px solid var(--line);
}

.ym-info-row:first-child { border-top: 1px solid var(--line); }

.ym-info-label {
	font-size     : 10px;
	letter-spacing: 0.25em;
	color         : var(--ink-light);
	font-family   : 'DM Serif Display', serif;
}

.ym-info-value {
	font-size     : 14px;
	font-weight   : 300;
	color         : var(--ink);
	letter-spacing: 0.04em;
}

/* ============================================================
   CONTACT
   ============================================================ */

.ym-contact {
	background   : var(--ink);
	color        : var(--paper);
	padding      : 80px 48px;
	border-bottom: none;
}

.ym-contact .ym-sec-label { color: #8a8784; }
.ym-contact .ym-sec-title { color: var(--paper-warm); margin-bottom: 24px; }

.ym-contact-body {
	font-size    : 15px;
	font-weight  : 400;
	color        : #c8c0b8;
	line-height  : 2.1;
	margin-bottom: 28px;
}

.ym-contact-cta {
	display        : inline-flex;
	align-items    : center;
	gap            : 10px;
	margin         : 0 0 32px;
	padding        : 16px 36px;
	background     : var(--accent);
	color          : var(--paper);
	font-size      : 14px;
	font-weight    : 500;
	letter-spacing : 0.1em;
	text-decoration: none;
	border         : 1px solid var(--accent);
	transition     : background 0.2s, border-color 0.2s, transform 0.2s;
}

.ym-contact-cta::after {
	content    : '→';
	font-size  : 16px;
	transition : transform 0.2s;
}

.ym-contact-cta:hover {
	background  : var(--accent-hover);
	border-color: var(--accent-hover);
}

.ym-contact-cta:hover::after {
	transform: translateX(4px);
}

.ym-contact-note {
	font-size  : 13px;
	font-weight: 400;
	color      : #e87a5e;
	line-height: 1.8;
}

.ym-contact-email {
	font-family   : 'DM Serif Display', serif;
	font-size     : clamp(16px, 2.2vw, 22px);
	letter-spacing: 0.05em;
}

.ym-contact-email a {
	color          : var(--paper);
	text-decoration: none;
	border-bottom  : 1px solid #5a5754;
	padding-bottom : 2px;
	transition     : border-color 0.2s;
}

.ym-contact-email a:hover { border-color: var(--paper); }

/* ============================================================
   FOOTER
   ============================================================ */

.ym-footer {
	padding        : 28px 48px;
	display        : flex;
	justify-content: space-between;
	align-items    : center;
	background     : var(--ink);
	border-top     : 1px solid #3a3734;
}

.ym-footer-left { display: flex; flex-direction: column; gap: 6px; }

.ym-footer-logo {
	font-family   : 'Shippori Mincho', serif;
	font-size     : 13px;
	letter-spacing: 0.15em;
	color         : #b0a8a0;
}

.ym-footer-mail a {
	font-size      : 12px;
	letter-spacing : 0.08em;
	color          : #8a8784;
	text-decoration: none;
	transition     : color 0.2s;
}

.ym-footer-mail a:hover { color: var(--paper-warm); }

.ym-footer-copy {
	font-size     : 11px;
	letter-spacing: 0.1em;
	color         : #7a7774;
	font-family   : 'DM Serif Display', serif;
}

/* ============================================================
   SINGLE PAGE
   ============================================================ */

.ym-single-header {
	margin-bottom: 48px;
}

.ym-single-meta {
	font-size     : 12px;
	color         : var(--ink-light);
	letter-spacing: 0.08em;
	margin-bottom : 16px;
}

.ym-single-title {
	font-family   : 'Shippori Mincho', serif;
	font-size     : clamp(20px, 2.5vw, 30px);
	font-weight   : 600;
	letter-spacing: 0.06em;
	line-height   : 1.7;
	color         : var(--ink);
	border-left   : 3px solid var(--accent);
	padding-left  : 16px;
	margin        : 0;
}

.ym-single-back {
	margin-top : 64px;
	padding-top: 32px;
	border-top : 1px solid var(--line);
}

.ym-single-back a {
	color          : var(--magenta);
	text-decoration: none;
	font-size      : 13px;
	letter-spacing : 0.1em;
	border-bottom  : 1px solid var(--magenta);
	padding-bottom : 2px;
	transition     : color 0.2s, border-color 0.2s;
}

.ym-single-back a:hover {
	color       : var(--magenta-hover);
	border-color: var(--magenta-hover);
}

/* ============================================================
   ENTRY CONTENT（投稿本文）
   ============================================================ */

.ym-entry-content {
	max-width  : 700px;
	font-size  : 1rem;
	font-weight: 300;
	color      : var(--ink-mid);
	line-height: 2.1;
}

.ym-entry-content a {
	color          : var(--magenta);
	text-decoration: underline;
	transition     : color 0.2s;
}

.ym-entry-content a:hover { color: var(--magenta-hover); }

.ym-entry-content p {
	margin-bottom: 1.8em;
}

.ym-entry-content p:last-child { margin-bottom: 0; }

.ym-entry-content h2 {
	font-family   : 'Shippori Mincho', serif;
	font-size     : 1.25rem;
	font-weight   : 600;
	color         : var(--ink);
	letter-spacing: 0.06em;
	margin        : 2.5em 0 1em;
	padding-bottom: 8px;
	border-bottom : 2px solid var(--line);
}

.ym-entry-content h3 {
	font-family   : 'Shippori Mincho', serif;
	font-size     : 1.1rem;
	font-weight   : 600;
	color         : var(--ink);
	letter-spacing: 0.06em;
	margin        : 2em 0 0.8em;
	padding-left  : 12px;
	border-left   : 3px solid var(--accent);
}

.ym-entry-content h4 {
	font-size  : 0.95rem;
	font-weight: 600;
	color      : var(--ink);
	margin     : 1.8em 0 0.6em;
}

.ym-entry-content h5 {
	font-size  : 0.9rem;
	font-weight: 600;
	color      : var(--ink-mid);
	margin     : 1.5em 0 0.5em;
}

.ym-entry-content ul,
.ym-entry-content ol {
	padding-left : 1.5em;
	margin-bottom: 1.8em;
}

.ym-entry-content li {
	font-size    : 1rem;
	line-height  : 2;
	margin-bottom: 0.4em;
}

.ym-entry-content table {
	width          : 100%;
	border-collapse: collapse;
	margin-bottom  : 2em;
	font-size      : 0.9rem;
}

.ym-entry-content th,
.ym-entry-content td {
	padding    : 10px 16px;
	border     : 1px solid var(--line);
	line-height: 1.8;
	text-align : left;
}

.ym-entry-content th {
	background : var(--paper-warm);
	font-weight: 600;
	color      : var(--ink);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media screen and (max-width: 768px) {

	.ym-inner {
		padding: 0 24px;
		height : 60px;
	}

	.ym-divider,
	.ym-nav,
	.ym-cta { display: none; }

	.ym-burger { display: flex; }

	.ym-mobile-nav a { padding: 12px 24px; }
	.ym-mobile-nav .ym-mobile-cta { margin: 16px 24px 0; }

	.ym-hero    { margin-top: 63px; padding: 80px 24px 60px; }
	.ym-section { padding: 60px 24px; }

	.ym-services-grid { grid-template-columns: 1fr; }
	.ym-service-item  { border-right: none; }
	.ym-service-item:nth-child(4),
	.ym-service-item:nth-child(5) { border-bottom: 1px solid var(--line); }

	.ym-contact { padding: 60px 24px; }
	.ym-footer  { padding: 24px; flex-direction: column; gap: 12px; text-align: center; }

	.ym-single-title { font-size: 1.2rem; }

	.ym-entry-content table { font-size: 0.8rem; }
	.ym-entry-content th,
	.ym-entry-content td { padding: 8px 10px; }
}


/* フォーム入力欄をサイトのフォントに合わせる */

.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
    font-family: inherit;
    font-size: inherit;
}

/* placeholder側も明示的に */
.smf-form .smf-text-control__control::placeholder,
.smf-form .smf-textarea-control__control::placeholder {
    font-family: inherit;
    font-size: inherit;
    color: rgba(0, 0, 0, 0.4);
    opacity: 1; /* Firefoxの既定opacity:0.54対策 */
}
.smf-form ::placeholder {
    font-family: inherit;
    color: rgba(0, 0, 0, 0.35);
    font-style: normal;            /* 例文っぽくしたいなら */
    letter-spacing: 0.02em;
    font-weight: 300;              /* Noto Serif JPの軽いウェイト */
}