@charset "UTF-8";
/*
Theme Name: SWELL CHILD（株式会社瀬戸）
Template: swell
Version: 3.1.0
Description: 株式会社瀬戸 公式サイト用 SWELL子テーマ（やさしいトーン）
*/

/* ---------- 基本トークン ---------- */
:root {
  --seto-base: #fcfaf6;      /* 生成り */
  --seto-bg: #f4eee4;        /* ベージュ */
  --seto-brown: #6b5440;     /* 本文・見出し */
  --seto-accent: #c9a27c;    /* やわらかい木色 */
  --seto-green: #8ea77f;     /* くすみグリーン（差し色） */
  --seto-line: #e6ddcf;
  --seto-radius: 16px;
  /* ヒーロー写真：URLを差し替え */
  --seto-hero-img: url(https://seto-inc.com/wp-content/uploads/2026/10/436582d91b1796c8152d0272156fb56d.png);
}

body {
  background: var(--seto-base);
  color: var(--seto-brown);
  font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;
  letter-spacing: .04em;
}
.post_content p { line-height: 2.1; }

/* ---------- セクション・見出し ---------- */
.seto-sec { padding: 96px 20px; }
.seto-bg { background: var(--seto-bg); }
.seto-en {
  font-family: "Quicksand", sans-serif; font-weight: 500;
  font-size: 1.05rem; letter-spacing: .12em;
  color: var(--seto-accent); text-align: center; margin-bottom: .3em !important;
}
.post_content .seto-h2 {
  font-size: clamp(1.35rem, 2.6vw, 1.75rem); font-weight: 700; line-height: 1.7;
  text-align: center; color: var(--seto-brown);
  background: none; border: none; padding: 0; margin: 0 0 2.2em !important;
}
.post_content .seto-h2::before, .post_content .seto-h2::after { display: none; }
.post_content h3 {
  background: none; border: none; padding: 0; font-size: 1.1rem; color: var(--seto-brown);
}
.post_content h3::before, .post_content h3::after { display: none; }
.seto-small { font-size: .85rem; }
.seto-note { font-size: .8rem; color: #b36a55; }

/* ---------- ヒーロー ---------- */
.seto-hero {
  min-height: 78vh; display: flex; align-items: flex-end;
  padding: 0 4vw 6vw;
  background: var(--seto-hero-img) center / cover no-repeat, linear-gradient(135deg, #e9dfcf, #dfe6d6);
  border-radius: 0 0 40px 40px;
}
.seto-hero__card {
  background: rgba(252, 250, 246, .92); border-radius: var(--seto-radius);
  padding: 40px 44px; max-width: 520px;
}
.post_content .seto-hero__title {
  font-size: clamp(1.6rem, 4vw, 2.3rem); font-weight: 700; line-height: 1.7;
  color: var(--seto-brown); background: none; border: none; padding: 0; margin: 0 0 .8em;
}
.seto-hero__lead { font-size: .9rem; line-height: 1.9; margin: 0; }

/* ---------- コンセプト ---------- */
.seto-concept p:not(.seto-en) { text-align: left; }
.post_content .seto-en { text-align: center !important; }
/* ---------- 写真の仮枠 ---------- */
.seto-photo {
  aspect-ratio: 4 / 3; border-radius: var(--seto-radius);
  background: #e8e0d3; margin-bottom: 1.2em;
}
.seto-photo--round { aspect-ratio: 1; border-radius: 50%; max-width: 200px; margin: 0 auto 1.2em; }
.seto-photo:empty::after { content: ""; }
.post_content .wp-block-image img { border-radius: var(--seto-radius); }

/* ---------- 特徴 ---------- */
.seto-feature { gap: 48px; text-align: center; }
.seto-feature p { line-height: 1.9; font-size: .95rem; }

/* ---------- 対応工事カード ---------- */
.seto-cards { gap: 32px; margin-bottom: 32px !important; }
.seto-cards p { line-height: 1.9; font-size: .92rem; }

/* ---------- ボタン ---------- */
.seto-more { justify-content: center; gap: 12px; margin-top: 2.4em; }
.seto-btn-main .wp-block-button__link,
.seto-btn-sub .wp-block-button__link {
  border-radius: 999px; padding: 1em 2.8em; font-weight: 700; font-size: .95rem;
  transition: opacity .2s;
}
.seto-btn-main .wp-block-button__link { background: var(--seto-green); color: #fff; }
.seto-btn-sub .wp-block-button__link { background: #fff; color: var(--seto-brown); border: 1px solid var(--seto-accent); }
.seto-btn-main .wp-block-button__link:hover, .seto-btn-sub .wp-block-button__link:hover { opacity: .8; }
.seto-btn-tel .wp-block-button__link {
  border-radius: 999px; padding: 1em 2.8em; background: #fff; color: var(--seto-brown);
  border: 1px solid var(--seto-accent);
}
.wp-block-button__link:focus-visible { outline: 3px solid var(--seto-accent); outline-offset: 3px; }

/* ---------- FAQ ---------- */
.seto-faq .wp-block-details {
  background: #fff; border-radius: var(--seto-radius);
  padding: 1.3em 1.6em; margin-bottom: 12px; border: none;
}
.seto-faq summary { font-weight: 700; cursor: pointer; list-style: none; position: relative; padding-left: 2.2em; }
.seto-faq summary::-webkit-details-marker { display: none; }
.seto-faq summary::before {
  content: "Q"; position: absolute; left: 0; top: -.1em;
  font-family: "Quicksand", sans-serif; color: var(--seto-accent); font-size: 1.2rem;
}
.seto-faq details p { margin-top: .8em; padding-left: 2.2em; font-size: .95rem; }
.seto-faq + .seto-faq { margin-top: 48px; }

/* ---------- お問い合わせ帯 ---------- */
.seto-contact-band { background: var(--seto-bg); border-radius: 40px 40px 0 0; }
.seto-contact-band__tel { text-align: center; margin: 1.2em 0 .2em !important; }
.seto-contact-band__tel a {
  font-family: "Quicksand", sans-serif; font-weight: 600; font-size: 2.2rem;
  color: var(--seto-brown); text-decoration: none; letter-spacing: .06em;
}

/* ---------- 下層ページ共通 ---------- */
.seto-toc { list-style: none !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 2em 0 3em !important; }
.seto-toc li::before { display: none !important; }
.seto-toc a { display: block; padding: .5em 1.3em; background: #fff; border: 1px solid var(--seto-line); border-radius: 999px; color: var(--seto-brown); text-decoration: none; font-size: .9rem; }
.seto-svc { padding: 56px 0; border-top: 1px solid var(--seto-line); }
.seto-svc__target { color: var(--seto-accent); font-weight: 700; text-align: center; margin-top: -1.6em; }
.seto-svc__signs { background: #fff; border-radius: var(--seto-radius); padding: 1.3em 1.6em 1.3em 2.8em !important; margin-top: 1.5em; }
.seto-svc__signs::before { content: "こんなお悩みはありませんか"; display: block; margin-left: -1.2em; margin-bottom: .5em; font-weight: 700; }
.seto-cta { background: var(--seto-bg); text-align: center; border-radius: 40px 40px 0 0; margin-top: 40px; }
.seto-cta .wp-block-buttons { justify-content: center; }
.seto-cta .seto-btn-main .wp-block-button__link, .seto-cta .seto-btn-tel .wp-block-button__link { margin: 4px; }
.seto-message { padding: 56px 0 24px; }
.seto-message__sign { text-align: right; margin-top: 2em; }
.seto-company__tel a { font-family: "Quicksand", sans-serif; font-weight: 600; font-size: 1.8rem; color: var(--seto-brown); text-decoration: none; }
.seto-company__table table { border-collapse: separate; border-spacing: 0; border-radius: var(--seto-radius); overflow: hidden; background: #fff; }
.seto-company__table th, .seto-company__table td { border: none !important; border-bottom: 1px solid var(--seto-line) !important; padding: 1em 1.2em; }
.seto-company__table th { width: 8em; background: #f8f3eb; white-space: nowrap; font-weight: 700; }
.seto-contact-tel { background: var(--seto-bg); border-radius: var(--seto-radius); padding: 32px; text-align: center; margin: 2em 0 3em; }
.seto-map iframe { width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: var(--seto-radius); }

/* ---------- フォーム ---------- */
.seto-form p { margin-bottom: 1.6em; }
.seto-form label { display: block; font-weight: 700; }
.seto-form .req, .seto-form .opt { font-size: .7rem; padding: .2em .7em; border-radius: 999px; margin-left: .5em; vertical-align: middle; font-weight: 400; }
.seto-form .req { background: var(--seto-accent); color: #fff; }
.seto-form .opt { background: var(--seto-line); }
.seto-form input[type="text"], .seto-form input[type="tel"], .seto-form input[type="email"], .seto-form textarea {
  width: 100%; margin-top: .5em; padding: .9em 1em; font-size: 16px;
  border: 1px solid var(--seto-line); border-radius: 10px; background: #fff;
}
.seto-form .wpcf7-list-item { margin: .4em 1.2em .4em 0; font-weight: 400; }
.seto-form__accept, .seto-form__submit { text-align: center; }
.seto-form input[type="submit"] { background: var(--seto-green); color: #fff; border: 0; border-radius: 999px; padding: 1em 3.5em; font-size: 1rem; font-weight: 700; cursor: pointer; }
.seto-form input[type="submit"]:disabled { opacity: .4; cursor: not-allowed; }

/* ---------- ヘッダー・フッター ---------- */
.l-header { background: rgba(252, 250, 246, .95); }
.c-gnav > .menu-item > a { color: var(--seto-brown); }
.c-gnav .seto-nav-cta > a { background: var(--seto-green); color: #fff !important; border-radius: 999px; padding: 0 1.4em; margin-left: .5em; }
.seto-head-tel { display: block; text-align: right; text-decoration: none; font-family: "Quicksand", sans-serif; font-weight: 600; font-size: 1.35rem; color: var(--seto-brown); line-height: 1.3; }
.seto-head-tel span { display: block; font-size: .7rem; font-family: "Zen Maru Gothic", sans-serif; font-weight: 400; }
.l-footer { background: var(--seto-bg); color: var(--seto-brown); }
.l-footer a { color: var(--seto-brown); }
.seto-foot p { line-height: 1.9; margin-bottom: .8em; }
.seto-foot__name { font-weight: 700; font-size: 1.2rem; }
.seto-foot__tel a { font-family: "Quicksand", sans-serif; font-weight: 600; font-size: 1.5rem; text-decoration: none; }

/* ---------- スマホ ---------- */
@media (max-width: 959px) { .seto-head-tel { display: none; } }
@media (max-width: 599px) {
  .seto-sec { padding: 64px 16px; }
  .seto-hero { min-height: 70vh; padding: 0 16px 24px; border-radius: 0 0 24px 24px; }
  .seto-hero__card { padding: 28px 24px; }
  .seto-concept p { text-align: left; }
  .seto-more .wp-block-button, .seto-more .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ---------- 依頼の流れ ---------- */
.seto-flow__list { list-style: none !important; counter-reset: step; padding: 0 !important; }
.seto-flow__list li { counter-increment: step; position: relative; padding: 0 0 1.6em 3.4em; }
.seto-flow__list li::before {
  content: counter(step); position: absolute; left: 0; top: 0;
  width: 2.2em; height: 2.2em; border-radius: 50%;
  background: var(--seto-accent); color: #fff;
  display: grid; place-items: center; font-family: "Quicksand", sans-serif;
}
.seto-flow__list strong { display: block; margin-bottom: .2em; }

/* ---------- 内装工事の細目 ---------- */
.seto-subsvc { list-style: none !important; padding: 0 !important; margin-top: 1.8em !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.seto-subsvc li { background: #fff; border-radius: var(--seto-radius); padding: 1.2em 1.4em; line-height: 1.9; font-size: .92rem; }
.seto-subsvc li::before { display: none !important; }
.seto-subsvc strong { display: block; color: var(--seto-brown); margin-bottom: .3em; font-size: 1rem; }

/* ---------- 下層ページの見出し上の英字・ごあいさつ ---------- */
.seto-message .seto-en, .seto-sec .seto-en { margin-top: 0; }


/* ---------- 見出しのずれ修正（SWELLの見出し装飾を打ち消す） ---------- */
.post_content h2.seto-h2,
.post_content h2.wp-block-heading.seto-h2 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  text-align: center !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--seto-brown) !important;
}
.post_content h2.seto-h2::before,
.post_content h2.seto-h2::after { content: none !important; display: none !important; }
.post_content .seto-en { margin-top: 0 !important; }
.post_content .seto-en + .seto-h2 { margin-top: 0 !important; }

/* 依頼の流れ：SWELLの番号付きリスト装飾を打ち消す */
.post_content ol.seto-flow__list { list-style: none !important; padding-left: 0 !important; }
.post_content ol.seto-flow__list > li { list-style: none !important; }
.post_content ol.seto-flow__list > li::marker { content: ""; }