	@charset "UTF-8";
/*
  Template: swell
  Theme Name: SWELL CHILD
  Description: SWELL子テーマ（最小調整：一覧のカテゴリ＆タグを同一行／サムネはテーマ任せ）
  Version: 1.0.0
  Author: You
  License: GPL v2 or later
*/

/* ========== 余白の軽い調整（安全） ========== */
.post_content { --wp--style--block-gap: 0.9rem; }

/* 段落・リストの上下を詰める */
.post_content p { margin: 1.2em 0; }
.post_content ul,
.post_content ol { margin: 0.8em 0; }

/* 見出しと本文の距離をタイトに */
.post_content h2 { margin: 1.8em 0 0.6em; }
.post_content h3 { margin: 1.4em 0 0.5em; }
.post_content h4 { margin: 1.2em 0 0.4em; }

/* 目次（SWELL / TOC+）の外側余白を半分に */
#main_content .p-toc { margin: 1em auto; }
#toc_container { margin: 1em 0; }

.p-toc.-double {
padding: 10px 1em 10px; 
}

.p-toc__list li {	
font-size:14px !important;
}


/* 内側の文字も折り返ししやすくする */
.p-toc__list {
  word-break: break-word;
}

/* アイキャッチ・画像の上下を控えめに */
.p-articleThumb { margin: 1.2em 0; }
.post_content figure,
.post_content .wp-block-image { margin: 1em 0; }

/* 引用の内側余白を軽く */
.post_content blockquote { padding: 0.9em 1.2em; }

/* Gutenbergカラムの隙間を2em→1.2emへ */
.post_content :where(.wp-block-columns.is-layout-flex),
.post_content :where(.wp-block-columns.is-layout-grid) { gap: 1.2em; }

/* ブログカード（post_link系）の外側余白も控えめに */
.post_content .p-blogCard,
.post_content .c-blogCard,
.post_content .blogcard,
.post_content [class*="post_link"] { margin: 1em 0; }

/* 前後ナビ・関連記事のマージンを少し詰める */
.p-pnLinks { margin: 1.2em 0; }
.p-relatedPosts .p-postList__item { margin-bottom: 1em; }

/* 連続要素のダブル余白を吸収（見出し/画像/カード直後の段落） */
.post_content h2 + p,
.post_content h3 + p,
.post_content figure + p,
.post_content .blogcard + p { margin-top: 0.6em; }

/* スマホはさらに少し詰めたい時 */
@media (max-width: 781px){
  .post_content { --wp--style--block-gap: 0.8rem; }
  .post_content p,
  .post_content ul,
  .post_content ol { margin: 1em 0; }
}

/* 画像だけが入る段落の余白を詰める（モダンブラウザ） */
.post_content p:has(> img:first-child) { 
  margin:0;

}

.post_content img + noscript + br{
display: none !important;
}

.post_content img + br + span {
  display: block !important;
  margin-top: 4px !important; /* キャプションとの間の余白を調整 */
}


/* :has() 非対応ブラウザ向けのフォールバック */
.post_content p > img { display: block; height: auto; }  /* ベースライン隙間を解消 */
.post_content p > img + br { display: none; }            /* 画像直後の <br> を消す */

/* figure / wp-block-image の余白と行間をタイトに */
.post_content figure,
.post_content .wp-block-image { 
  margin: 0.9em 0;
  line-height: 0;        /* 画像の下の行間隙間をなくす */
}
.post_content figure img,
.post_content .wp-block-image img { 
  display: block;        /* ベースライン隙間対策 */
  width: 100%;
  height: auto;
}
.post_content figcaption { 
  margin-top: .45em;
  line-height: 1.5;      /* キャプションは通常の行間に戻す */
}

/* 画像→ブログカードの“段差”を低くする */
.post_content figure + .p-blogCard,
.post_content figure + .c-blogCard,
.post_content p:has(> img:first-child) + .p-blogCard,
.post_content p:has(> img:first-child) + .c-blogCard {
  margin-top: .6em;
}

/* 最後の要素の下マージンをカット（ページ末尾が間延びしない） */
.post_content > :last-child { margin-bottom: 0; }

/* ========== 投稿リスト基礎 ========== */

/* 一覧アイテムのボーダーと余白（控えめ） */
.p-postList__item {
  margin: 0 !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #e5e5e5 !important;
}

/* 日付をタイトル上に置くときの間隔だけ軽く詰める */
.p-postList__meta.-top { margin: 0 0 5px; font-size:14px}
.p-postList__times { margin-right: .5em;margin-top:0 }
.p-postList__cat{font-weight: bold;}

.icon-tag:before{margin-right:5px}

.p-postList__title a{color:#000}

/* 抜粋をスマホでは隠す（任意・負荷低） */
@media (max-width: 781px){
  .p-postList__excerpt { display: none; }
}

.c-postThumb__figure{ margin: 0; }

.p-termContent { margin-top: 0 !important;}
.l-content{ margin-top: 0 !important;padding-top: 1em !important}
.p-termHead{ margin-top: 1em !important;}
.p-termHead__desc{ padding: 1em;!important;}

/* ========== カテゴリ＋タグ：同一行（崩れない簡易版） ========== */
/* どの出力パターンでも拾えるように、3種類のラッパーを面倒見ます */
.p-postList__item .p-postList__tax,
.p-postList__item .post-chips,
.p-postList__item .tag-meta {
  display: flex;
  align-items: center;
  gap: 6px 8px;       /* チップ間の余白 */
  flex-wrap: wrap;    /* PCは基本折返し可（幅に余裕があるため） */
  margin-top: 8px;
}

/* 中の要素を“チップ”化（カテゴリ・タグ共通） */
.p-postList__item .p-postList__cats a,
.p-postList__item .p-postList__tags a,
.p-postList__item .post-tag a,
.p-postList__item .tag-meta a {
  display: inline-block;
  padding: .28em .62em;
  color: #000 !important;
  background-color: #dfdbdb;
  text-decoration: none;
  line-height: 1;
  font-size: 13px;
}
.p-postList__item .p-postList__cats a:hover,
.p-postList__item .p-postList__tags a:hover,
.p-postList__item .post-tag a:hover,
.p-postList__item .tag-meta a:hover {
  border-color: var(--color_main, #1176d4);
  color: var(--color_main, #1176d4);
}

/* タグ行頭のFAアイコン用（入れてなければ影響なし） */
.fa-fw { width: 1.28571429em; text-align: center; }
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.p-postList__item .post-tag i { opacity: .75; }

/* ========== 既存の見出しデザイン（軽量） ========== */

a:hover {
  text-decoration: underline;
}

h2 {
  padding: 10px 12px;
  font-size: 22px;
  font-weight: bold;
  background-color: #efefef;
  border-left: 6px solid #eb3f25;
  margin: 10px 0;
  text-align: left !important;
  letter-spacing: .06em;
}
h3{
  padding: 10px 12px;
  font-size: 22px;
  font-weight: bold;
  background-color: #efefef;
  border-left: 6px solid #20377d;
  margin: 40px 0 20px;
  text-align: left !important;
  letter-spacing: .05em;
}
h4 {
  position: relative;
  padding: 10px 5px 9px 15px;
  font-weight: bold;
  font-size: 18px;
  background-color: #EFEFEF;
  margin: 20px 0 10px;
}

.c-pageTitle__subTitle{
font-style: normal !important;
}

/************************************
** アイコン
************************************/

.ico_lunch{background: none repeat scroll 0 0 #FF6E00;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 450;font-weight:bold;margin: 0px}

.ico_2000y{background: none repeat scroll 0 0 #8642a4;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 450;font-weight:bold;margin: 0px}

.ico_rich{background: none repeat scroll 0 0 #C39043;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 6px;position: absolute;z-index: 300;font-weight:bold;margin: 0px}

.ico_1500bero{background: none repeat scroll 0 0 #20377d;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 400;font-weight:bold;margin: 0px}

.ico_kikou{background: none repeat scroll 0 0 #2196F3;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 12px;position: absolute;z-index: 400;font-weight:bold;margin: 0px}

.ico_favorite{background: none repeat scroll 0 0 #65BA02;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 250;font-weight:bold;margin: 0px}

.ico_sake{background: none repeat scroll 0 0 #2196F3;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 350;font-weight:bold;margin: 0px}

.ico_re{background: none repeat scroll 0 0 #FF6E00;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 10px;position: absolute;z-index: 350;font-weight:bold;margin: 0px}

.ico_cnv{background: none repeat scroll 0 0 #E91E63;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 350;font-weight:bold;margin: 0px}

.ico_item{background: none repeat scroll 0 0 #20377d;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 350;font-weight:bold;margin: 0px}

.ico_matome{background: none repeat scroll 0 0 #F44336;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 12px;position: absolute;z-index: 100;font-weight:bold;margin: 0px}

.ico_ienomi{background: none repeat scroll 0 0 #FFA500;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 200;font-weight:bold;margin: 0px}

.ico_essay{background: none repeat scroll 0 0 #E91E63;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 100;font-weight:bold;margin: 0px}

.ico_toshitsu{background: none repeat scroll 0 0 #2196F3;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 100;font-weight:bold;margin: 0px}

.ico_news{background: none repeat scroll 0 0 #DB0505;color: #fff;font-size: 75%;left: 0px;top: 0px;line-height: 1;padding: 5px 5px;position: absolute;z-index: 100;font-weight:bold;margin: 0px}

.ico_new{
background: none repeat scroll 0 0 #db0505;color: #fff;font-size: 75%;right:0px;top: 0px;line-height: 1;padding: 5px 2px;position: absolute;z-index: 100;font-weight:bold;margin: 0px
}

.p-postList__thumb { position: relative; }



/* ポイントボックス */
.box8{
    padding: 0.1em 1em;
    margin: 1.2em 0;
    background: -webkit-repeating-linear-gradient(-45deg, #FFF8E8, #FFF8E8 3px,#FFF2D1 3px, #FFF2D1 7px);
    background: repeating-linear-gradient(-45deg, #FFF8E8, #FFF8E8 3px,#FFF2D1 3px, #FFF2D1 7px);
}


.box16{
    padding: 0.1em 1em;
    margin: 1.2em 0;
    background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}

.po_tit {
color: #20377D;/*文字色*/
padding: 0.5em 0;/*上下の余白*/
border-top: solid 3px #20377D;/*上線*/
border-bottom: solid 3px #20377D;/*下線*/
font-size:16px
}

/* スマホだけ表示 一覧上 */
@media (min-width: 782px){
  .sp-cross-links { display: none; }
}

/* 見た目 */
.sp-cross-links{
  padding: 10px 15px;
  margin: 10px 0 0;
  background-color: #efefef;
  font-size: 14px;
}
.sp-cross-links a{ text-decoration: none; }


/* ========== フッターまわり（既存踏襲・安全） ========== */
.footer_logo{
  float: left;
  margin-right: 12px;
  padding-right: 22px;
  border-right: 1px solid #ccc;
}
.footer_logo div{
  font-size: 12px;
  width: 150px;
  padding-top: 10px;
  color: #000;
}
.footer_list { float: left; font-size: 14px; }
.footer_list ul, .footer_list ol { list-style: none; list-style-position: inside; }
.copyright{
  padding: 10px 0;
  font-size: 80%;
  text-align: center;
  clear: both;
}

/* ========== プロフィール（既存） ========== */
#prf_1000{
  width: 100%;
  clear: both;
  font-size: 14px;
  position: relative;
  overflow: hidden;
}
#prf_1000 p{
  margin-block-start: 0;
  margin-block-end: 0;
}


#search { margin-bottom: 10px; }
.cat_tag_search { padding: 5px 0 0; clear: both; }
.cat_tag_search select{
  width: 35%;
  font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-size: 16px;
}

#search_results {
    font-size: 16px;
    margin-top: 0px;
    margin-bottom: 5px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 5px 0;
}


/* エリア・ジャンル別一覧ここから */

.po_tit {
color: #20377D;/*文字色*/
padding: 0.5em 0;/*上下の余白*/
border-top: solid 3px #20377D;/*上線*/
border-bottom: solid 3px #20377D;/*下線*/
font-size:16px
}

.square_btn {
    position: relative;
    display: inline-block;
    padding: 0.25em 0.25em;
    text-decoration: none;
    color: #FFF;
    background: #fd9535;/*背景色*/
    border-bottom: solid 2px #d27d00;/*少し濃い目の色に*/
    border-radius: 4px;/*角の丸み*/
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
    font-weight: bold;
}

.square_btn:active {
    border-bottom: solid 2px #fd9535;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

.blog-card-excerpt{
display:none!important;
}

.appreach {
  text-align: left;
  padding: 10px;
  border: 1px solid #7C7C7C;
  overflow: hidden;
}
.appreach:after {
  content: "";
  display: block;
  clear: both;
}
.appreach p {
  margin: 0;
}
.appreach a:after {
  display: none;
}
.appreach__icon {
  float: left;
  border-radius: 10%;
  overflow: hidden;
  margin: 0 3% 0 0 !important;
  width: 25% !important;
  height: auto !important;
  max-width: 120px !important;
}
.appreach__detail {
  display: inline-block;
  font-size: 20px;
  line-height: 1.5;
  width: 72%;
  max-width: 72%;
}
.appreach__detail:after {
  content: "";
  display: block;
  clear: both;
}
.appreach__name {
  font-size: 16px;
  line-height: 1.5em !important;
  max-height: 3em;
  overflow: hidden;
}
.appreach__info {
  font-size: 12px !important;
}
.appreach__developper, .appreach__price {
  margin-right: 0.5em;
}
.appreach__posted a {
  margin-left: 0.5em;
}
.appreach__links {
  float: left;
  height: 40px;
  margin-top: 8px;
  white-space: nowrap;
}
.appreach__aslink img {
  margin-right: 10px;
  height: 40px;
  width: 135px;
}
.appreach__gplink img {
  height: 40px;
  width: 134.5px;
}
.appreach__star {
  position: relative;
  font-size: 14px !important;
  height: 1.5em;
  width: 5em;
}
.appreach__star__base {
  position: absolute;
  color: #737373;
}
.appreach__star__evaluate {
  position: absolute;
  color: #ffc107;
  overflow: hidden;
  white-space: nowrap;
}



.tag_list {
  margin: 15px 0 20px 0;
  padding: 0;
  list-style: none;
}
.tag_list li {
  display: inline-block;
  margin: 0 .4em .7em 0;
  padding: 0;
}
.tag_list li a {
  position: relative;
  display: inline-block;
  /*max-width: 100px; */
  height: 38px;
  line-height: 38px;
  padding: 0 2.8em 0 0.5em;
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 3px;
  white-space: nowrap;
  /*text-overflow: ellipsis; */
  /*overflow: hidden; */
  color: #000;
  font-size: 14px;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}
.tag_list span {
  position: absolute;
  top: 3px;
  right: 5px;
  z-index: 2;
  width: 32px;
  height: 32px;
  line-height: 32px;
  background-color: #21377C;
  border-radius: 100%;
  color: #fff;
  font-size: 12px;
  text-align: center;
  -webkit-transition: .2s;
  transition: .2s;
}
.tag_list li a:hover {
  background-color: #21377C;
  border: 1px solid #21377C;
  color: #fff;
}
.tag_list li a:hover span {
  background-color: #fff;
  color: #21377C;
}

/* エリア・ジャンル別一覧 */


/* サムネ + 本文の並び */

/* PC横並び / SP縦積み */
.p-postList__row{ display:flex; gap:12px; align-items:flex-start; }
.p-postList__thumb{ flex:0 0 250px; max-width:250px; }
.p-postList__body{ flex:1 1 auto; min-width:0; }
@media (max-width:781px){
  .p-postList__row{ display:block; }
  .p-postList__thumb{ width:100%; max-width:none; margin:0 0 12px; }
}

/* サムネ（16:9でカバー表示） */
.c-postThumb__figure{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.c-postThumb__figure .c-postThumb__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.p-postList__thumb::before,
.p-postList__thumb::after{ pointer-events:none; }

/* タグは折返し可（こちらを残す） */
.p-postList__item .p-postList__tax,
.p-postList__item .post-chips,
.p-postList__item .tag-meta{ flex-wrap:wrap; }
.p-postList__item .p-postList__cats a,
.p-postList__item .p-postList__tags a,
.p-postList__item .post-tag a,
.p-postList__item .tag-meta a{ white-space:normal; overflow-wrap:anywhere; line-height:1.2; }

/* ===== SP幅がおかしくなる対策（回り込みの完全解除） ===== */
@media (max-width:781px){
  /* 行を縦積みに */
  .p-postList__row{ display:block !important; }

  /* サムネの回り込み・横並びを必ずOFFにして全幅へ */
  .p-postList__thumb{
    float:none !important;
    clear:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 12px !important;
  }

  /* 本文側は回り込みを受けないようにクリアし、幅を100%に固定 */
  .p-postList__body{
    clear:both !important;
    width:100% !important;
  }

  /* タイトル・メタ・タグも幅100%（親の半幅指定などを踏み抜く） */
  .p-postList__title,
  .p-postList__meta.-top,
  .p-postList__tax{
    width:100% !important;
  }

  /* 念のため clearfix */
  .p-postList__row::after{ content:""; display:block; clear:both; }
}

/* タグの並びをラッパ側で制御して行間に余白をつける */
.p-postList__item .p-postList__tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px 8px;                 /* 縦6px / 横8px */
}
.p-postList__item .p-postList__tags a{
  line-height:1.35;            /* 少しだけ高さを出す */
}

/* フェード演出を殺して即表示 */
.c-postThumb__img { opacity: 1 !important; transition: none !important; }

/* プレースホルダ色（真っ白→薄グレーに） */
.c-postThumb__figure { background: #f5f5f5; }

/* タグの行間・段落間を少し広げる（詰まり対策） */
.p-postList__item .p-postList__tax { gap: 8px 10px; margin-top: 10px; }
.p-postList__item .p-postList__tags a { line-height: 1.6; padding: .34em .7em; }
/* スマホモバイル広告 */

.only-sp{ margin:8px 0 0; }
