@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* ============================================================
   KIWIトップページ ヘッダー / フッター / 追従ボタン
   - top.css / common.css / responsive.css から該当部分のみ抽出
   - 画像はサイトルートの /img/ を参照（ルート絶対パス）
   - SWELL本文への影響を防ぐため .kiwi-header / .kiwi-footer で限定
   ============================================================ */

/* ---------- ヘッダー（PC） ---------- */
.kiwi-header header {
	width: 1000px;
	height: 285px;
	margin: 0 auto;
	position: relative;
	padding: 0;
}
.kiwi-header header h1 {
	width: 372px;
	height: 146px;
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 23px;
	left: 21px;
	background: url(/img/top_logo.png) no-repeat 0 0;
	text-indent: -9999px;
	overflow: hidden;
}
.kiwi-header header h2 {
	width: 478px;
	height: 33px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.3;
	position: absolute;
	top: 40px;
	right: 10px;
	background: none;
	text-indent: inherit;
	overflow: hidden;
	color: #594D3F;
}
.kiwi-header #header_menu {
	width: 500px;
	top: 0;
	right: 0;
	position: absolute;
	background-color: #221815;
}
.kiwi-header #header_menu li { float: left; list-style: none; }
.kiwi-header #header_menu .menu01 { display: block; width: 40px; height: 14px; margin: 0 0 7px 32px; background: url(/img/header_menu01.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header #header_menu .menu01:hover { background-position: left -14px; }
.kiwi-header #header_menu .menu02 { display: block; width: 54px; height: 14px; margin: 0 0 7px 20px; background: url(/img/header_menu02.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header #header_menu .menu02:hover { background-position: left -14px; }
.kiwi-header #header_menu .menu03 { display: block; width: 54px; height: 14px; margin: 0 0 7px 20px; background: url(/img/header_menu03.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header #header_menu .menu03:hover { background-position: left -14px; }
.kiwi-header #header_menu .menu04 { display: block; width: 28px; height: 14px; margin: 0 0 7px 20px; background: url(/img/header_menu04.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header #header_menu .menu04:hover { background-position: left -14px; }
.kiwi-header #header_menu .menu05 { display: block; width: 68px; height: 14px; margin: 0 0 7px 20px; background: url(/img/header_menu05.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header #header_menu .menu05:hover { background-position: left -14px; }
.kiwi-header #header_menu .menu06 { display: block; width: 98px; height: 14px; margin: 0 0 7px 20px; background: url(/img/header_menu06.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header #header_menu .menu06:hover { background-position: left -14px; }
.kiwi-header #header_btn { width: 510px; height: 95px; top: 90px; right: 0; position: absolute; text-align: right; }
.kiwi-header #header_btn img { margin: 0 0 0 5px; }
.kiwi-header nav { width: 1000px; padding: 20px 0; margin-bottom: 15px; background-color: #D4D1CD; top: 205px; right: 0; position: absolute; }
.kiwi-header nav ul li { float: left; list-style: none; }
.kiwi-header nav .menu01 { display: block; width: 75px; height: 16px; margin: 0 0 0 47px; background: url(/img/menu01.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header nav .menu01:hover { background-position: left -16px; }
.kiwi-header nav .menu02 { display: block; width: 120px; height: 16px; margin: 0 0 0 44px; background: url(/img/menu02.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header nav .menu02:hover { background-position: left -16px; }
.kiwi-header nav .menu03 { display: block; width: 89px; height: 16px; margin: 0 0 0 44px; background: url(/img/menu03.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header nav .menu03:hover { background-position: left -16px; }
.kiwi-header nav .menu04 { display: block; width: 78px; height: 16px; margin: 0 0 0 44px; background: url(/img/menu04.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header nav .menu04:hover { background-position: left -16px; }
.kiwi-header nav .menu05 { display: block; width: 96px; height: 16px; margin: 0 0 0 44px; background: url(/img/menu05.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header nav .menu05:hover { background-position: left -16px; }
.kiwi-header nav .menu06 { display: block; width: 76px; height: 16px; margin: 0 0 0 44px; background: url(/img/menu06.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header nav .menu06:hover { background-position: left -16px; }
.kiwi-header nav .menu07 { display: block; width: 94px; height: 16px; margin: 0 0 0 44px; background: url(/img/menu07.gif) top left no-repeat; text-indent: -9999px; overflow: hidden; }
.kiwi-header nav .menu07:hover { background-position: left -16px; }

/* ---------- フッター（PC） ---------- */
#black_bg { width: 100%; padding: 10px 0; background-color: #221815; overflow: hidden; }
.kiwi-footer footer { width: 1000px; height: 50px; margin: 0 auto; position: relative; }
.kiwi-footer a:link { color: #FFFFFF; text-decoration: none; }
.kiwi-footer a:visited { color: #FFFFFF; text-decoration: none; }
.kiwi-footer a:hover { color: #75DEF0; text-decoration: underline; }
.kiwi-footer .home_btn { display: block; width: 42px; height: 41px; top: 5px; left: 0; background: url(/img/footer_kiwi_icon.gif) left top no-repeat; text-indent: -9999px; overflow: hidden; position: absolute; }
.kiwi-footer .home_btn:hover { background-position: left -41px; }
.kiwi-footer .footermenu { width: 600px; top: 15px; left: 70px; position: absolute; }
.kiwi-footer small { width: 384px; height: 16px; top: 20px; right: 0; background: url(/img/footer_copyright.gif) left top no-repeat; text-indent: -9999px; overflow: hidden; position: absolute; }

/* ---------- 追従（go-top） ---------- */
.go-top { position: fixed; width: 60px; height: 60px; bottom: 38px; right: 15px; display: none; z-index: 99999; }

/* ---------- タブレット以下（〜1000px） ---------- */
@media screen and (max-width: 1000px) {
	.kiwi-header *, .kiwi-footer * { box-sizing: border-box; }
	.kiwi-header header { width: 100%; height: auto; }
	.kiwi-header #header_menu { display: none; }
	.kiwi-header header h1 { max-width: 150px; width: 20%; height: 69px; background-size: 100%; position: relative; float: left; top: 0; left: 0; padding: 10px; margin: 3% 3% 0 3%; }
	.kiwi-header header h2 { position: relative; float: left; height: auto; left: 0; top: 0; right: 0; width: 74%; margin-top: 3%; padding-right: 5%; }
	.kiwi-header #header_btn { width: 100%; max-width: 510px; height: auto; top: 0; clear: both; right: 0; position: relative; text-align: right; margin: 0 auto; }
	.kiwi-header nav { width: 100%; padding: 20px 0; margin-bottom: 15px; background-color: #D4D1CD; top: 0; right: 0; position: relative; }
	.kiwi-header nav li:nth-child(3),
	.kiwi-header nav li:nth-child(5),
	.kiwi-header nav li:nth-child(7) { clear: both; }
	.kiwi-header nav ul { width: 300px; margin: 0 auto; overflow: hidden; }
	.kiwi-header nav li { padding: 10px 0; width: 150px; }
	.kiwi-header nav .menu01,
	.kiwi-header nav .menu02,
	.kiwi-header nav .menu03,
	.kiwi-header nav .menu04,
	.kiwi-header nav .menu05,
	.kiwi-header nav .menu06,
	.kiwi-header nav .menu07 { margin: 0 20px; }

	#black_bg { padding-left: 5%; padding-right: 5%; }
	.kiwi-footer footer { width: 300px; height: auto; }
	.kiwi-footer small { width: 300px; position: relative; background: none; color: #fff; font-weight: bold; left: 0; top: 0; font-size: 11px; text-align: center; }
	.kiwi-footer .home_btn { display: block; position: relative; top: 0; margin: 0 auto 20px; }
	.kiwi-footer .footermenu { position: relative; width: 100%; left: 0; top: 0; font-size: 11px; margin: 0 0 20px 0; }
}

/* ---------- スマホ（〜550px） ---------- */
@media screen and (max-width: 550px) {
	.kiwi-header header h1 { min-width: 300px; height: 130px; background-position: center; margin: 10px auto; float: none; }
	.kiwi-header header h2 { width: 100%; float: none; padding-left: 5%; padding-right: 5%; margin-bottom: 20px; }
	.kiwi-header #header_btn { overflow: hidden; }
	.kiwi-header #header_btn img { width: 100%; max-width: 160px; height: auto; margin: 0; }
	.kiwi-header #header_btn a { display: block; width: 31.3333%; max-width: 160px; margin: 0 1%; float: left; }
}

/* ============================================================
   追加修正（スクリーンショット反映）
   ============================================================ */

/* (3) トップページと同じ全体設定：上の濃いボーダー＆背景色 */
body {
	border-top: 8px solid #221815;
	background-color: #F5F4F2;
}

/* (1) ヘッダー/フッター内の文字をトップページと同じ字形に揃える
       （SWELLの本文フォント・太字が h2 等に効くのを上書き） */
.kiwi-header,
.kiwi-footer {
	font-family: "メイリオ", Meiryo, verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, sans-serif;
	font-size: 14px;
	color: #594D3F;
	line-height: 1.6;
	font-weight: normal;
	letter-spacing: normal;
	word-spacing: normal;
	font-feature-settings: normal;
}
.kiwi-header h1,
.kiwi-header h2,
.kiwi-footer h1,
.kiwi-footer h2 {
	font-size: 1em;
	font-weight: normal;
}

/* =========================================================
   KIWI 記事内デザイン｜Signal Gradient フラット × ブルー×シアン
   CTAボタン：アクションオレンジ
   貼り付け先：外観 > カスタマイズ > 追加CSS（または子テーマ style.css）
   ========================================================= */
.post_content{
  /* ベース配色（ブルー×シアン） */
  --kw-g1:#2563eb; --kw-g2:#06b6d4;
  --kw-ink:#1b1f3b; --kw-sub:#5b6385;
  --kw-bd:#e3e8f3; --kw-bg:#f5f8fd;
  --kw-ok:#0ea5a0; --kw-mtint:#ecfbfb;
  --kw-ng:#fb7185; --kw-ngd:#d4365c;
  /* CTAボタン配色（アクションオレンジ） */
  --kw-cta1:#ff7a00; --kw-cta2:#ff2e54;
}

/* ---- タイトル付きリスト ---- */
.post_content .kw-list{
  position:relative; margin:2em 0; padding:1.35em 1.5em 1.2em 1.85em;
  background:#fff; border:1px solid var(--kw-bd);
}
.post_content .kw-list::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:6px;
  background:linear-gradient(180deg,var(--kw-g1),var(--kw-g2));
}
.post_content .kw-list__ttl{
  margin:0 0 .7em; font-size:1.2em; font-weight:800; line-height:1.5;
  background:linear-gradient(90deg,var(--kw-g1),var(--kw-g2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.post_content .kw-list ul{margin:0; padding:0; list-style:none;}
.post_content .kw-list li{position:relative; padding:.5em 0 .5em 1.6em; line-height:1.7; color:var(--kw-ink);}
.post_content .kw-list li+li{border-top:1px solid var(--kw-bg);}
.post_content .kw-list li::before{
  content:""; position:absolute; left:.15em; top:.82em; width:.55em; height:.55em;
  background:linear-gradient(135deg,var(--kw-g1),var(--kw-g2));
}

/* ---- メリット / デメリット ---- */
.post_content .kw-card{
  margin:1.4em 0; padding:1.1em 1.4em 1.2em; background:#fff;
  border:1px solid var(--kw-bd); border-left-width:5px;
}
.post_content .kw-card__ttl{
  display:inline-flex; align-items:center; gap:.5em; margin:0 0 .55em;
  font-size:1.08em; font-weight:800;
}
.post_content .kw-card__ttl::before{
  display:grid; place-items:center; width:1.5em; height:1.5em;
  color:#fff; font-size:.82em; font-weight:900; flex:0 0 auto;
}
.post_content .kw-card ul{margin:0; padding:0; list-style:none;}
.post_content .kw-card li{position:relative; padding:.34em 0 .34em 1.5em; line-height:1.7;}
.post_content .kw-card li::before{position:absolute; left:.1em; top:.05em; font-weight:900;}
.post_content .kw-card--merit{border-left-color:var(--kw-ok); background:var(--kw-mtint);}
.post_content .kw-card--merit .kw-card__ttl{color:var(--kw-ok);}
.post_content .kw-card--merit .kw-card__ttl::before{content:"✓"; background:var(--kw-ok);}
.post_content .kw-card--merit li::before{content:"✓"; color:var(--kw-ok);}
.post_content .kw-card--demerit{border-left-color:var(--kw-ng); background:#fff1f4;}
.post_content .kw-card--demerit .kw-card__ttl{color:var(--kw-ngd);}
.post_content .kw-card--demerit .kw-card__ttl::before{content:"✕"; background:var(--kw-ng);}
.post_content .kw-card--demerit li::before{content:"✕"; color:var(--kw-ng);}

/* ---- テーブル（2列・3列以上 共通 / 直角フラット） ---- */
.post_content table{
  width:100%; margin:1.6em 0; border-collapse:collapse;
  border:1px solid var(--kw-bd); font-size:.96em; background:#fff;
}
.post_content th,.post_content td{
  padding:.85em 1.05em; text-align:left; vertical-align:middle; line-height:1.6;
}
.post_content td{border:1px solid var(--kw-bd); color:var(--kw-ink);}
.post_content th{
  background:linear-gradient(135deg,var(--kw-g1),var(--kw-g2)); color:#fff;
  font-weight:700; white-space:nowrap; border-right:1px solid rgba(255,255,255,.3);
}
.post_content th:last-child{border-right:0;}
.post_content table tr:nth-child(2n) td{background:var(--kw-bg);}
.post_content table a{
  color:var(--kw-g1); font-weight:700; text-decoration:none;
  background:linear-gradient(90deg,var(--kw-g1),var(--kw-g2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  border-bottom:1px solid var(--kw-bd);
}

/* ---- 横スクロール（.kw-scroll で囲む） ---- */
.post_content .kw-scroll{
  position:relative; margin:1.6em 0; overflow-x:auto; -webkit-overflow-scrolling:touch;
  background:
    linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left/26px 100% no-repeat,
    linear-gradient(90deg,rgba(255,255,255,0),#fff 70%) right/26px 100% no-repeat,
    linear-gradient(90deg,var(--kw-g1),transparent) left/4px 100% no-repeat,
    linear-gradient(270deg,var(--kw-g2),transparent) right/4px 100% no-repeat;
  background-attachment:local,local,scroll,scroll;
}
.post_content .kw-scroll table{margin:0; min-width:680px;}
.post_content .kw-scroll::before{
  content:"← 横にスクロール →"; display:none; position:sticky; left:0;
  padding:.4em 0; text-align:center; font-size:.78em; font-weight:700;
  background:linear-gradient(90deg,var(--kw-g1),var(--kw-g2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
@media(max-width:600px){ .post_content .kw-scroll::before{display:block;} }

/* ---- ボタン（角丸ピル型／アクションオレンジ） ---- */
.post_content .kw-btn{margin:1.9em 0; text-align:center;}
.post_content .kw-btn a{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  min-width:min(600px,100%); padding:1.05em 2.2em; border-radius:999px;
  background:linear-gradient(120deg,var(--kw-cta1),var(--kw-cta2));
  color:#fff; font-weight:800; font-size:1.06em; letter-spacing:.02em; text-decoration:none;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
  box-shadow:0 16px 32px -12px rgba(255,46,84,.5), 0 6px 14px -8px rgba(255,122,0,.5);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.post_content .kw-btn a::after{content:"→"; transition:transform .2s ease;}
.post_content .kw-btn a:hover{
  transform:translateY(-2px) scale(1.01); filter:saturate(1.05);
  box-shadow:0 22px 38px -12px rgba(255,46,84,.6), 0 8px 18px -8px rgba(255,122,0,.6);
}
.post_content .kw-btn a:hover::after{transform:translateX(4px);}
.post_content .kw-btn a:focus-visible{outline:3px solid var(--kw-cta1); outline-offset:3px;}

/* ---- レスポンシブ / アクセシビリティ ---- */
@media(max-width:600px){ .post_content th,.post_content td{padding:.72em .8em; font-size:.93em;} }
@media(prefers-reduced-motion:reduce){ .post_content .kw-btn a,.post_content .kw-btn a::after{transition:none; transform:none;} }