@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 作ってわかるAI「ポップ改」
** 朱色 #ff5a36 / 黒 #111 / 白 / 薄い朱色 #fde3dc
** 角ずれ影 4px 4px 0 #111 / Zen Maru Gothic
** 原本: システム/作ってわかるAI/theme/cocoon-child/style.css
************************************/
:root{
  --tw-accent:#ff5a36;
  --tw-ink:#111111;
  --tw-pale:#fde3dc;
  --tw-deep:#b4300f;
  --tw-line:#d9d4d0;
  --tw-muted:#555555;
  --tw-shadow:4px 4px 0 #111111;
  --tw-wrap:1256px; /* Cocoon の .wrap と同じ幅にそろえる */
  --tw-gutter:16px;
}
@media screen and (min-width: 835px){ :root{ --tw-gutter:24px; } }

/* ---- 書体・基本色 ---- */
body, .body, button, input, select, textarea{
  font-family:'Zen Maru Gothic','Hiragino Maru Gothic ProN','BIZ UDPGothic','Yu Gothic','Meiryo',sans-serif;
}
body{ color:var(--tw-ink); background:#fff; font-weight:500; }
.body a{ color:var(--tw-ink); }
.body a:hover{ color:#000; }
h1,h2,h3,h4,.entry-title,.archive-title,.widget-title{ font-weight:900; }

/* ---- ヘッダー（PC） ---- */
#header-container{ border-top:4px solid var(--tw-ink); background:#fff; }
#header-container-in.hlt-center-logo .header-in,
.header-in{ display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:10px var(--tw-gutter) 6px; min-height:0; width:auto; max-width:var(--tw-wrap); box-sizing:border-box; }
.header-in .logo-header{ margin:0; order:0; text-align:left; }
.header-in .logo-header .site-name-text{ font-size:20px; font-weight:900; color:var(--tw-ink); display:inline-flex; align-items:center; gap:8px; }
.header-in .logo-header .site-name-text::before{ content:""; width:12px; height:12px; border-radius:6px; background:var(--tw-accent); border:2px solid var(--tw-ink); box-sizing:border-box; flex:none; }
.header-in .tagline{ order:1; margin:0; font-size:13px; font-weight:700; color:#444; }

/* カテゴリのタブ */
#navi, #navi.navi, .navi{ border-bottom:2px solid var(--tw-ink); background:#fff !important; background-color:#fff !important; }
#navi .navi-in{ width:auto; max-width:var(--tw-wrap); box-sizing:border-box; }
#navi .navi-in > .menu-header{ display:flex; justify-content:flex-start; gap:2px; padding:0 var(--tw-gutter); overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
#navi .navi-in > .menu-header::-webkit-scrollbar{ display:none; }
#navi .navi-in > .menu-header > li{ flex:none; width:auto; height:40px; line-height:40px; border:0; }
#navi .navi-in > .menu-header > li > a{ display:flex; align-items:center; height:40px; padding:0 12px; color:#444; font-size:14px; font-weight:900; text-decoration:none; background:transparent; }
#navi .navi-in > .menu-header > li > a .item-label{ font-weight:900; }
#navi .navi-in > .menu-header > li > a:hover{ background:transparent; color:var(--tw-ink); }
#navi .navi-in > .menu-header > li.current-menu-item > a,
#navi .navi-in > .menu-header > li.current-menu-parent > a,
#navi .navi-in > .menu-header > li.current-category-ancestor > a,
#navi .navi-in > .menu-header > li.current_page_parent > a{ color:var(--tw-ink); box-shadow:inset 0 -4px 0 var(--tw-accent); }
#navi .navi-in > .menu-header > li:first-child > a{ padding-left:0; }
#navi .navi-in > .menu-header > li > a::after,
#navi .navi-in > .menu-header > li > a::before{ display:none; }

/* ---- 本文エリア共通 ---- */
#main, #sidebar{ border:0; background:#fff; }
.article-header .entry-title{ font-size:24px; line-height:1.4; font-weight:900; }
.archive-title{ font-size:22px; font-weight:900; padding:10px 0 12px; border-bottom:2px solid var(--tw-ink); margin-bottom:12px; }
.archive-title .fa{ color:var(--tw-accent); margin-right:6px; }
.category-page-content{ color:#444; font-size:14px; margin-bottom:12px; }
.entry-content a{ color:var(--tw-deep); text-decoration:underline; }
.entry-content a:hover{ color:var(--tw-ink); }
.entry-content h2{ background:var(--tw-pale); border:0; border-left:6px solid var(--tw-accent); border-radius:0 10px 10px 0; padding:10px 14px; font-size:20px; font-weight:900; }
.entry-content h3{ border:0; border-bottom:2px solid var(--tw-ink); padding:6px 0; font-size:18px; font-weight:900; }
.entry-content h4{ border:0; border-left:4px solid var(--tw-ink); padding:2px 10px; font-size:16px; font-weight:900; }
.entry-content ul li::marker{ color:var(--tw-accent); }
.post-date, .post-update, .post-author, .date-tags{ color:var(--tw-muted); }
.cat-label{ background:var(--tw-ink); border:0; border-radius:99px; color:#fff; font-weight:900; padding:2px 8px; }

/* 記事一覧（カテゴリ・新着ページ） */
.entry-card-wrap{ border:2px solid var(--tw-ink); border-radius:12px; box-shadow:var(--tw-shadow); padding:10px; margin:0 6px 20px 0; background:#fff; transition:transform .12s; }
.entry-card-wrap:hover{ transform:translate(-1px,-1px); background:#fff; }
.entry-card-thumb{ border:2px solid var(--tw-ink); border-radius:8px; overflow:hidden; background:var(--tw-pale); }
.entry-card-thumb img{ display:block; width:100%; height:auto; }
.card-thumb img.no-image{ opacity:0; }
.entry-card-title{ font-size:17px; font-weight:900; line-height:1.45; }
.entry-card-snippet{ font-size:13px; color:#444; }
.posts-not-found{ border:2px dashed var(--tw-ink); border-radius:12px; padding:22px 16px; text-align:center; background:#fff; }
.posts-not-found h2{ font-size:14px; letter-spacing:.1em; margin:0 0 6px; color:var(--tw-deep); }
.posts-not-found p{ margin:0; font-size:14px; }
.pagination .page-numbers{ border:2px solid var(--tw-ink); border-radius:8px; color:var(--tw-ink); }
.pagination .current{ background:var(--tw-accent); color:var(--tw-ink); }
#breadcrumb{ font-size:12px; color:var(--tw-muted); }
#breadcrumb a{ color:var(--tw-muted); }

/* 固定ページ・記事：共有ボタンの色づかいを抑える */
.sns-share-buttons, .sns-follow-buttons{ margin-top:12px; }

/* サイドバー */
.sidebar .widget{ border:2px solid var(--tw-ink); border-radius:12px; padding:14px; margin-bottom:20px; }
.sidebar .widget-title, .sidebar .wp-block-heading{ font-size:15px; font-weight:900; border-bottom:2px solid var(--tw-ink); padding-bottom:6px; margin:0 0 10px; }
.sidebar a{ text-decoration:none; }

/* 検索フォーム */
.wp-block-search__input, .search-edit, .search-box .search-edit{ border:2px solid var(--tw-ink) !important; border-radius:99px !important; padding:10px 14px !important; font-size:15px; background:#fff; }
.wp-block-search__button, .search-submit{ background:var(--tw-ink) !important; color:#fff !important; border:0 !important; border-radius:99px !important; font-weight:900; }
.search-menu-content .search-box{ padding:8px; }

/* ---- フッター ---- */
#footer{ background:var(--tw-ink); color:#ddd; border-top:0; margin-top:0; }
#footer a{ color:#fff; }
#footer .footer-in{ width:auto; max-width:var(--tw-wrap); box-sizing:border-box; }
#footer .footer-top, #footer .footer-widgets{ padding:20px var(--tw-gutter) 0; }
#footer .footer-left, #footer .footer-center, #footer .footer-right{ padding:0; margin:0; }
#footer .footer-widgets .widget{ padding:0; margin:0; }
#footer .footer-widgets p{ font-size:12px; line-height:1.7; margin:0; color:#ddd; }
#footer .footer-bottom{ padding:16px var(--tw-gutter) 24px; }
.footer-bottom-logo .site-name-text{ color:#fff; font-size:16px; font-weight:900; }
.menu-footer{ display:flex; flex-wrap:wrap; gap:6px 16px; justify-content:center; }
.menu-footer li{ margin:0; }
.menu-footer a{ color:#fff; font-size:13px; font-weight:700; text-decoration:none; padding:0; }
.copyright, .source-org{ color:#aaa; font-size:12px; }
.footer-left:empty, .footer-center:empty, .footer-right:empty{ display:none; }

/************************************
** トップページ（固定ページ「ホーム」）
************************************/
body.home.page #content{ margin:0; }
body.home.page #content-in{ padding:0; max-width:none; width:100%; }
body.home.page #main{ width:100%; max-width:none; padding:0; margin:0; border:0; }
body.home.page .article{ margin:0; padding:0; }
body.home.page .article-header,
body.home.page .article-footer,
body.home.page .entry-footer,
body.home.page .sns-share,
body.home.page .sns-follow,
body.home.page .date-tags,
body.home.page .author-info,
body.home.page #breadcrumb,
body.home.page .comment-area,
body.home.page .page-navi,
body.home.page .footer-meta,
body.home.page .related-entries{ display:none; }
body.home.page .entry-content{ margin:0; }
body.home.page .entry-content > *{ margin-top:0; margin-bottom:0; }
body.home.page .entry-content p, body.home.page .entry-content h2{ margin:0; }
body.home.page #toc, body.home.page .toc{ display:none; }
body.home.page .entry-content > .wp-block-group > * + *{ margin-block-start:0; }
body.home.page .entry-content a{ text-decoration:none; color:var(--tw-ink); }

.tw-in{ max-width:var(--tw-wrap); margin:0 auto; padding:0 var(--tw-gutter); box-sizing:border-box; }
.tw-h2{ margin:0; font-size:22px; font-weight:900; }

/* 朱色の帯 */
.tw-hero{ background:var(--tw-accent); border-bottom:2px solid var(--tw-ink); padding:16px 0; color:var(--tw-ink); }
.tw-hero .tw-in{ display:flex; flex-direction:column; gap:10px; padding-right:0; }
.tw-hero-text{ display:flex; flex-direction:column; gap:8px; padding-right:16px; }
body.home.page .entry-content .tw-hero-title, .tw-hero-title{ margin:0 !important; padding:0; border:0; background:none; font-weight:900; font-size:27px; line-height:1.3; color:var(--tw-ink); }
.tw-nw{ display:inline-block; }
.tw-hero-lead{ margin:0 !important; font-size:14px; font-weight:700; line-height:1.55; color:var(--tw-ink); }
.tw-hero-lead br{ display:none; }
.tw-works{ display:flex; gap:10px; overflow-x:auto; padding:0 16px 6px 0; scrollbar-width:none; }
.tw-works::-webkit-scrollbar{ display:none; }
.tw-work{ flex:none; width:132px; height:80px; background:#fff; border:2px solid var(--tw-ink); border-radius:10px; box-shadow:var(--tw-shadow); display:flex; flex-direction:column; justify-content:flex-end; padding:8px; box-sizing:border-box; font-size:11px; font-weight:700; text-decoration:none; color:var(--tw-ink); position:relative; overflow:hidden; }
.tw-work img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tw-work-tag{ position:relative; display:inline-block; align-self:flex-start; background:var(--tw-pale); border:1px solid var(--tw-ink); border-radius:99px; padding:1px 7px; font-size:10px; margin-bottom:4px; }
.tw-work span{ position:relative; }

/* はじめての方 */
.tw-start{ border-bottom:2px solid var(--tw-ink); padding:12px 0; }
.tw-start .tw-in{ display:flex; align-items:center; gap:6px; }
.tw-pill{ flex:none; background:var(--tw-ink); color:#fff; font-size:11px; font-weight:900; padding:6px 10px; border-radius:99px; }
.tw-step{ flex:1; min-height:44px; display:flex; align-items:center; justify-content:center; gap:5px; border:2px solid var(--tw-ink); border-radius:99px; text-decoration:none; font-size:12px; font-weight:900; color:var(--tw-ink); background:#fff; }
.tw-step:hover{ background:var(--tw-pale); }
.tw-num{ width:18px; height:18px; border-radius:9px; background:var(--tw-ink); color:#fff; font-size:10px; display:flex; align-items:center; justify-content:center; flex:none; }

/* 新着の制作記録 */
.tw-new{ padding:12px var(--tw-gutter) 28px; max-width:var(--tw-wrap); margin:0 auto !important; box-sizing:border-box; }
.tw-new .tw-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.tw-new .tw-head h2{ margin:0; font-size:19px; font-weight:900; background:none; border:0; padding:0; border-radius:0; }
.tw-new .tw-head a{ font-size:13px; font-weight:900; color:var(--tw-ink); text-decoration:none; }
.tw-new .new-entry-cards{ margin:0; }
.tw-new .new-entry-cards > p{ margin:12px 0 0; padding:16px; border:2px dashed var(--tw-ink); border-radius:10px; font-size:13px; text-align:center; }
.tw-new .widget-entry-cards .a-wrap{ display:block; padding:10px 0; margin:0; border-bottom:1px solid var(--tw-line); background:#fff; }
.tw-new .widget-entry-cards .a-wrap:hover{ background:#fff; }
.tw-new .widget-entry-card{ display:flex; gap:12px; position:relative; font-size:14px; }
.tw-new .widget-entry-cards figure{ flex:none; width:92px; height:68px; margin:0; border:2px solid var(--tw-ink); border-radius:8px; overflow:hidden; background:var(--tw-pale); position:static; }
.tw-new .widget-entry-cards figure img{ width:100%; height:100%; object-fit:cover; display:block; }
.tw-new .widget-entry-card .cat-label{ position:absolute; left:104px; top:0; background:none; border:0; color:var(--tw-deep); font-size:10px; font-weight:900; padding:0; max-width:none; }
.tw-new .widget-entry-card-content{ margin:0; display:flex; flex-direction:column; gap:3px; padding-top:16px; min-width:0; }
.tw-new .widget-entry-card:not(:has(.cat-label)) .widget-entry-card-content{ padding-top:0; }
.tw-new .widget-entry-card-title{ font-size:14px; line-height:1.45; font-weight:700; overflow-wrap:anywhere; }
.tw-new .widget-entry-card-date{ font-size:11px; color:var(--tw-muted); }
.tw-new .widget-entry-card-date .fa{ display:none; }

/* 連載の黒いカード */
.tw-series-wrap{ padding:0 var(--tw-gutter) 32px; max-width:var(--tw-wrap); margin:0 auto !important; box-sizing:border-box; }
.tw-series{ padding:20px 18px; background:var(--tw-ink); color:#fff; border-radius:14px; display:flex; flex-direction:column; gap:10px; }
.tw-series-label{ font-size:11px; font-weight:900; color:var(--tw-accent); }
.tw-series-title{ font-size:21px; line-height:1.4; font-weight:900; }
.tw-series-text{ font-size:12px; line-height:1.7; color:#ddd; }
.tw-btn{ align-self:flex-start; height:44px; padding:0 18px; display:inline-flex; align-items:center; gap:8px; background:var(--tw-accent); color:var(--tw-ink) !important; border-radius:22px; text-decoration:none; font-weight:900; font-size:14px; }
.tw-btn:hover{ background:#fff; }

/* 作りたいものから探す / 目的から探す */
.tw-sec{ padding:0 var(--tw-gutter) 32px; max-width:var(--tw-wrap); margin:0 auto !important; box-sizing:border-box; display:flex; flex-direction:column; gap:12px; }
.tw-grid3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tw-grid2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tw-chip{ height:64px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:2px solid var(--tw-ink); border-radius:12px; text-decoration:none; font-weight:900; font-size:14px; color:var(--tw-ink); background:#fff; text-align:center; }
.tw-chip:hover, .tw-tile:hover{ background:var(--tw-pale); }
.tw-tile{ display:flex; flex-direction:column; gap:6px; padding:14px; border:2px solid var(--tw-ink); border-radius:12px; text-decoration:none; color:var(--tw-ink); background:#fff; }
.tw-tile b{ font-size:17px; font-weight:900; }
.tw-tile span{ font-size:12px; line-height:1.6; color:#444; }

/* 使っている道具 */
.tw-tools{ background:var(--tw-pale); border-top:2px solid var(--tw-ink); padding:28px 0 32px; }
.tw-tools .tw-in{ display:flex; flex-direction:column; gap:12px; }
.tw-tags{ display:flex; flex-wrap:wrap; gap:8px; font-size:12px; }
.tw-tag{ background:#fff; border:2px solid var(--tw-ink); padding:7px 12px; border-radius:99px; color:var(--tw-ink); text-decoration:none; }
.tw-tag b{ font-weight:900; }

/************************************
** モバイル固定メニュー（上：ロゴ＋検索＋メニュー / 下：4ボタン）
************************************/
.mobile-menu-buttons{ background:#fff; box-shadow:none; }
.mobile-header-menu-buttons{ border-top:4px solid var(--tw-ink); border-bottom:2px solid var(--tw-ink); min-height:50px; justify-content:space-between; padding:0 8px 0 16px; box-shadow:none; }
.mobile-header-menu-buttons > li{ padding-top:0; }
.mobile-header-menu-buttons .logo-menu-button{ order:0; flex-grow:1; text-align:left; min-width:0; line-height:50px; }
.mobile-header-menu-buttons .logo-menu-button .site-name-text{ font-size:17px; font-weight:900; color:var(--tw-ink); display:inline-flex; align-items:center; gap:8px; }
.mobile-header-menu-buttons .logo-menu-button .site-name-text::before{ content:""; width:12px; height:12px; border-radius:6px; background:var(--tw-accent); border:2px solid var(--tw-ink); box-sizing:border-box; flex:none; }
.mobile-header-menu-buttons .search-menu-button{ order:1; }
.mobile-header-menu-buttons .navi-menu-button{ order:2; }
.mobile-header-menu-buttons .has-logo-button .menu-button,
.has-logo-button .menu-button:not(.logo-menu-button){ width:44px; }
.mobile-header-menu-buttons .menu-button-in{ height:50px; display:flex; align-items:center; justify-content:center; }
.mobile-header-menu-buttons .menu-icon{ color:var(--tw-ink); font-size:21px; width:auto; }
.mobile-header-menu-buttons .menu-caption{ display:none; }
.mobile-header-menu-buttons .menu-content{ cursor:default; }
.navi-menu-content .menu-drawer a{ font-weight:900; color:var(--tw-ink); }

.mobile-footer-menu-buttons{ border-top:2px solid var(--tw-ink); min-height:60px; align-items:stretch; }
.mobile-footer-menu-buttons > li{ padding-top:0; }
.mobile-footer-menu-buttons .menu-button-in{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; height:60px; color:var(--tw-ink); }
.mobile-footer-menu-buttons .menu-icon{ width:auto; line-height:1; }
.mobile-footer-menu-buttons .custom-menu-icon > span{ font-family:FontAwesome; font-size:20px; display:inline-block; font-style:normal; }
.mobile-footer-menu-buttons .menu-caption{ font-size:11px; font-weight:900; opacity:1; }
.mobile-footer-menu-buttons .current-menu-item .menu-button-in{ color:var(--tw-deep); }

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /* 上の固定バーがロゴを担うので、通常ヘッダーのロゴは隠し、タブだけ残す */
  .mblt-header-and-footer-mobile-buttons #header{ display:none; }
  .mblt-header-and-footer-mobile-buttons #header-container{ border-top:0; }
  .mblt-header-and-footer-mobile-buttons{ margin-top:56px; margin-bottom:60px; }
  #navi .navi-in > .menu-header{ display:flex !important; }
  body.home.page .tw-new{ padding-bottom:28px; }
}

/*834px以下*/
@media screen and (max-width: 834px){
  #navi .navi-in > .menu-header{ display:flex !important; }
  .article-header .entry-title{ font-size:21px; }
  .entry-card-wrap{ margin-right:4px; }
}

/*835px以上：PC幅では左右に広げる */
@media screen and (min-width: 835px){
  .tw-hero{ padding:28px 0; }
  .tw-hero .tw-in{ flex-direction:row; align-items:center; justify-content:space-between; gap:24px; padding-right:16px; }
  .tw-hero-title, body.home.page .entry-content .tw-hero-title{ font-size:40px; }
  .tw-hero-title br{ display:none; }
  .tw-works{ flex-wrap:nowrap; justify-content:flex-end; overflow:visible; padding:0 4px 4px 0; flex:none; }
  .tw-work{ width:160px; height:106px; font-size:13px; }
  .tw-hero-text{ flex:1 1 auto; min-width:0; gap:12px; }
  .tw-hero-lead{ font-size:16px; }
  .tw-hero-lead br{ display:inline; }
  .tw-start .tw-in{ gap:12px; }
  .tw-pill{ font-size:13px; padding:8px 14px; }
  .tw-step{ font-size:15px; max-width:260px; }
  .tw-new{ padding:24px var(--tw-gutter) 36px; }
  .tw-new .tw-head h2{ font-size:24px; }
  .tw-new .new-entry-cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; }
  .tw-new .new-entry-cards > p{ grid-column:1 / -1; }
  .tw-series{ padding:28px 32px; }
  .tw-series-title{ font-size:28px; }
  .tw-series-text{ font-size:14px; }
  .tw-grid3{ grid-template-columns:repeat(6,minmax(0,1fr)); }
  .tw-grid2{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .tw-chip{ height:76px; font-size:16px; }
  .tw-tools .tw-tags{ font-size:14px; }
  .tw-h2{ font-size:26px; }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .tw-hero-title{ font-size:27px; }
}

/* ---- 微調整（2回目の見直し） ---- */
body.home.page .entry-content h2.tw-h2,
body.home.page .entry-content .tw-head h2{ background:none; border:0; padding:0; border-radius:0; margin:0; }
.entry-content .tw-tile, .entry-content .tw-tile b, .entry-content .tw-tile span,
.entry-content .tw-chip, .entry-content .tw-tag, .entry-content .tw-step, .entry-content .tw-work{ color:var(--tw-ink); text-decoration:none; }
.entry-content .tw-tile span{ color:#444; }
.wp-block-search__button{ white-space:nowrap; padding:0 18px !important; }
#sidebar .widget .wp-block-heading, #sidebar .widget .widget-title{ background:none; color:var(--tw-ink); padding:0 0 6px; border-bottom:2px solid var(--tw-ink); border-radius:0; }

/* このサイトの考え方（新着の下・連載の上） */
.tw-policy{ padding:0 0 32px; }
.tw-policy-box{ background:var(--tw-pale); border:2px solid var(--tw-ink); border-radius:14px; box-shadow:var(--tw-shadow); padding:18px 14px; display:flex; flex-direction:column; gap:10px; margin-right:4px; }
body.home.page .entry-content h2.tw-policy-title{ background:none; border:0; padding:0; border-radius:0; margin:0; font-size:17px; font-weight:900; display:inline-flex; align-items:center; gap:8px; }
body.home.page .entry-content h2.tw-policy-title::before{ content:""; width:12px; height:12px; border-radius:6px; background:var(--tw-accent); border:2px solid var(--tw-ink); box-sizing:border-box; flex:none; }
.tw-policy-text{ margin:0 !important; font-size:14px; line-height:1.9; font-weight:700; color:var(--tw-ink); }
@media screen and (min-width: 835px){
  .tw-policy-box{ padding:26px 32px; margin-right:0; }
  .tw-policy-text{ font-size:16px; }
  body.home.page .entry-content h2.tw-policy-title{ font-size:22px; }
}

/* ---- 3回目の見直し：モバイルのロゴ印・フッター（モバイル用ウィジェット領域）の位置 ---- */
.mobile-header-menu-buttons .logo-menu-button .menu-button-in{ display:inline-flex; align-items:center; gap:8px; font-size:17px; font-weight:900; color:var(--tw-ink); line-height:50px; }
.mobile-header-menu-buttons .logo-menu-button .menu-button-in::before{ content:""; width:12px; height:12px; border-radius:6px; background:var(--tw-accent); border:2px solid var(--tw-ink); box-sizing:border-box; flex:none; }
#footer .footer-in{ width:auto; margin-left:auto; margin-right:auto; padding:0; }
#footer .footer-widgets-mobile{ padding:20px 0 0 !important; margin:0 !important; }
#footer .footer-widgets-mobile .footer-mobile{ padding:0 8px !important; margin:0 !important; }
#footer .footer-widgets-mobile .widget, #footer .footer-widgets-mobile .widget-footer-mobile{ padding:0 !important; margin:0 !important; }
#footer .footer-widgets-mobile p{ font-size:12px; line-height:1.7; margin:0; color:#ddd; }
