/*
 * 固定ページ用：TCD Cherie 互換スタイル
 * 2026-10-21 に本番（TCD Cherie 1.12.3）の固定ページ26件で実際に効いていたテーマ側のルールだけを抜き出したもの。
 * 固定ページの見た目をテーマ切り替え前と同じに保つために、固定ページでだけ読み込む（functions.php）。
 * 各ページの「カスタムCSS」欄や本文内の <style> は、このあとに読み込まれるので、そちらが優先される。
 * 新しく作るページはこのファイルに頼らず、ページ側のCSSで完結させる。
 */

/* ---- style.css（TCD） ---- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 100%; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
a:focus { outline: none; }
table { border-collapse: collapse; border-spacing: 0px; width: 100%; }
button, input, select, textarea { outline: 0px; box-sizing: border-box; font-size: 100%; line-height: normal; }
input, textarea { background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)); -webkit-appearance: none; appearance: none; border-radius: 0px; }
input[type="checkbox"] { -webkit-appearance: checkbox; appearance: checkbox; }
input[type="radio"] { -webkit-appearance: radio; appearance: radio; }
button { -webkit-appearance: none; appearance: none; }
iframe { max-width: 100%; }
svg { display: block; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }
.clearfix::after { display: block; clear: both; content: ""; }
html { height: 100%; position: relative; overflow-x: hidden; scroll-padding: 120px; }
body { font-family: Arial, sans-serif; font-size: 16px; line-height: 1; width: 100%; position: relative; -webkit-font-smoothing: antialiased; overscroll-behavior-y: none; }
/* テーマ切り替え前の固定ページは白背景・黒文字・字間なしが基本だった */
body { background: #fff; color: #000; letter-spacing: normal; overflow-x: visible; }
body.admin-bar { padding-top: 0px; }
body.home.admin-bar { padding-top: 0px; }
body.hide_page_header_bar.admin-bar { padding-top: 0px; }
a { text-decoration: none; }
a, a::before, a::after, input { transition: background-color 0.25s, color 0.25s, border-color 0.25s; }
.post_content { overflow-wrap: break-word; }
#container { position: relative; }
#page_contents { padding-bottom: 150px; }
body.hide_page_header #page_contents { padding-top: 95px; }
#page_contents .post_content { width: 800px; margin: 0px auto; }
body.wide_content #page_contents .post_content { width: 1100px; }
.post_content a:hover { text-decoration: underline; }

/* ---- design-plus.css（TCD） ---- */
.post_content :first-child { margin-top: 0px; }
.post_content :last-child { margin-bottom: 0px; }
.post_content p { line-height: 2.4; margin: 0px 0px 2em; }
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { clear: both; line-height: 1.4; padding: 0px; font-weight: 600; }
.post_content h1 { font-size: 150%; margin: 0px 0px 35px; text-align: center; }
.post_content h2 { font-size: 140%; margin: 0px 0px 35px; text-align: center; }
.post_content h3 { font-size: 130%; margin: 0px 0px 35px; }
.post_content h4 { font-size: 120%; margin: 0px 0px 30px; }
.post_content img[class*="align"], .post_content img[class*="wp-image-"], .post_content img[class*="attachment-"], .post_content img.size-full, .post_content img.size-large, .post_content .wp-post-image, .post_content img { height: auto; max-width: 100%; }
.post_content li, .post_content dt, .post_content dd { line-height: 2.2; }
.post_content ul, .post_content ol, .post_content dl { margin-bottom: 2em; }
.post_content ol { list-style: outside none decimal; margin-left: 1.5em; }
.post_content ul { list-style: outside none circle; margin-left: 1.3em; }
.post_content dt { font-weight: bold; }
.post_content dd { margin-bottom: 1em; }
.post_content table { margin: 0px 0px 2em; border-left: 1px solid rgb(221, 221, 221); border-top: 1px solid rgb(221, 221, 221); width: 100% !important; border-collapse: separate !important; }
.post_content td, .post_content th { border-right: 1px solid rgb(221, 221, 221); border-bottom: 1px solid rgb(221, 221, 221); padding: 15px 30px 13px; line-height: 2.2; background: rgb(255, 255, 255); box-sizing: border-box; }
.post_content th { background: rgb(247, 247, 247); font-weight: normal; }
.post_content blockquote { position: relative; color: rgba(0, 0, 0, 0.6); margin-bottom: 2em; padding: 2em 2.4em; box-shadow: none; background: rgba(0, 0, 0, 0.02); border: none; border-left: 3px solid rgb(0, 0, 0); }
.post_content blockquote::before { line-height: 40px; top: 5px; left: 10px; }
.post_content blockquote::after { text-align: left; line-height: 60px; bottom: 10px; right: -2px; }
.post_content blockquote::before, .post_content blockquote::after { content: "\""; font-style: italic; font-size: 30px; font-weight: normal; color: rgb(0, 0, 0); width: 30px; height: 30px; position: absolute; }
.post_content blockquote p { line-height: 1.8; }
.post_content blockquote cite { text-align: right; display: block; border-top: 1px dotted rgb(0, 0, 0); margin: 2em 0px 0px; padding: 1em 0px 0px; font-size: 14px; }
@media screen and (max-width: 800px) {
  .post_content p { line-height: 2; }
  .post_content li, .post_content dt, .post_content dd { line-height: 1.8; }
  .post_content td, .post_content th { line-height: 1.8; padding: 14px 15px; }
}
.post_content h1 { font-size: 28px; font-weight: 600; line-height: 1.4; margin: 120px 0px 1.3em; text-align: center; }
.post_content h2 { font-size: 26px; font-weight: 600; line-height: 1.4; margin: 3em 0px 1.3em; text-align: center; }
.post_content h3 { font-size: 22px; font-weight: 600; line-height: 1.6; margin: 3em 0px 1.3em; }
.post_content h4 { font-size: 20px; font-weight: 600; line-height: 1.6; margin: 2.3em 0px 1em; }
.post_content > :first-child { margin-top: 0px; }
@media screen and (max-width: 800px) {
  .post_content h1 { font-size: 22px; margin: 100px 0px 1em; }
  .post_content h2 { font-size: 20px; margin: 2.5em 0px 1em; }
  .post_content h3 { font-size: 18px; margin: 2.3em 0px 1em; }
  .post_content h4 { font-size: 16px; margin: 2.2em 0px 1em; }
}
@media screen and (max-width: 600px) {
  .post_content h1 { margin: 80px 0px 1em; }
  .post_content h2 { margin: 2.3em 0px 1em; }
  .post_content h3 { margin: 2em 0px 1em; }
  .post_content h4 { margin: 2em 0px 1em; }
}
.b { font-weight: 700; }

/* ---- responsive.css（TCD） ---- */
body { touch-action: manipulation; }
@media screen and (max-width: 1100px) {
  html { scroll-padding: 100px; }
}
@media screen and (max-width: 800px) {
  * { -webkit-tap-highlight-color: transparent; }
  #container { overflow: hidden; }
}
body.home.admin-bar { padding-top: 30px; }
@media screen and (max-width: 780px) {
  body.home.admin-bar { padding-top: 45px; }
}
@media screen and (max-width: 1200px) {
  body.wide_content #page_contents .post_content { width: auto; margin: 0px 50px; }
}
@media screen and (max-width: 900px) {
  #page_contents .post_content { width: auto; margin: 0px 50px; }
}
@media screen and (max-width: 800px) {
  #page_contents { padding-bottom: 40px; }
  body.hide_page_header #page_contents { padding-top: 35px; }
  #page_contents .post_content { margin: 0px 30px; }
  body.wide_content #page_contents .post_content { margin: 0px 30px; }
}
@media screen and (max-width: 650px) {
  #page_contents .post_content { margin: 0px 20px; }
  body.wide_content #page_contents .post_content { margin: 0px 20px; }
}

/* ---- TCDテーマオプション（インライン出力されていたもの） ---- */
:root { --tcd-font-type1: Arial,"Hiragino Sans","Yu Gothic Medium","Meiryo",sans-serif; --tcd-font-type2: "Times New Roman",Times,"Yu Mincho","游明朝","游明朝体","Hiragino Mincho Pro",serif; --tcd-font-type3: Palatino,"Yu Kyokasho","游教科書体","UD デジタル 教科書体 N","游明朝","游明朝体","Hiragino Mincho Pro","Meiryo",serif; --tcd-font-type-logo: "Avenir Next",Avenir,Calibri,"Hiragino Sans","Yu Gothic Medium","Meiryo",sans-serif; }
body { font-size: 16px; }
.post_content h1 { font-size: 28px; }
.post_content h2 { font-size: 28px; }
.post_content h3 { font-size: 26px; }
.post_content h4 { font-size: 24px; }
@media screen and (max-width: 800px) {
  body { font-size: 14px; }
  .post_content h1 { font-size: 20px; }
  .post_content h2 { font-size: 20px; }
  .post_content h3 { font-size: 18px; }
  .post_content h4 { font-size: 16px; }
}
body, input, textarea { font-family: var(--tcd-font-type1); }
a { color: rgb(0, 0, 0); }
:root, ::before, ::after { --tcd-main-color: #898989; --tcd-hover-color: #575757; --tcd-hover-color2: #3e3e3e; }
a:hover { color: rgb(87, 87, 87); }
.post_content a { color: rgb(137, 137, 137); }
.post_content a:hover { color: rgb(137, 137, 137); }

/* ---- TCDテーマオプション「カスタムCSS」（サイト全体）にあった旧TOP用のクラス ---- */
.cocoiro-content-wrapper { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; color: #444; line-height: 1.8; max-width: 1100px; margin: 0 auto; padding: 60px 20px; }
.cocoiro-section { margin-bottom: 100px; }
.cocoiro-section:last-child { margin-bottom: 0; }
.section-title { font-size: 32px; font-weight: bold; text-align: center; margin-bottom: 40px; letter-spacing: 0.05em; color: #333; }
.section-title span { display: block; font-size: 14px; color: #888; margin-top: 10px; font-weight: normal; letter-spacing: 0.1em; }
.cocoiro-btn { display: inline-block; padding: 12px 36px; border: 1px solid #444; background: #fff; color: #444; text-decoration: none; border-radius: 50px; transition: all 0.3s; font-size: 14px; font-weight: bold; }
.cocoiro-btn:hover { background: #444; color: #fff; }
.btn-center { text-align: center; margin-top: 30px; }
.concept-box { text-align: center; max-width: 800px; margin: 0 auto; }
.concept-lead { font-size: 24px; font-weight: bold; line-height: 1.6; margin-bottom: 30px; }
.concept-text { font-size: 16px; text-align: left; margin-bottom: 30px; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.service-card { background: #f9f9f9; padding: 30px 20px; border-radius: 8px; text-align: center; transition: transform 0.3s; }
.service-card:hover { transform: translateY(-5px); }
.service-icon { font-size: 40px; color: #666; margin-bottom: 20px; display: block; }
.service-h3 { font-size: 18px; font-weight: bold; margin-bottom: 15px; line-height: 1.4; }
.service-desc { font-size: 14px; color: #666; margin-bottom: 20px; text-align: left; }
.tsukigime-area { background-color: #f4f4f4; padding: 60px 40px; border-radius: 12px; display: flex; align-items: center; gap: 40px; }
.tsukigime-content { flex: 1; }
.tsukigime-img { flex: 1; height: 300px; background-color: #ddd; border-radius: 8px; object-fit: cover; }
.tsukigime-tag { display: inline-block; background: #444; color: #fff; font-size: 12px; padding: 4px 12px; border-radius: 50px; margin-bottom: 15px; }
@media (max-width: 768px) {
  .service-grid { grid-template-columns: 1fr; }
  .tsukigime-area { flex-direction: column-reverse; padding: 30px; }
  .tsukigime-img { width: 100%; height: 200px; }
  .cocoiro-content-wrapper { padding: 40px 15px; }
}
.page-id-1215 #page_contents .post_content > footer { display: none !important; }
