@charset "utf-8";
/* CSS Document */
/*======================================================*/
/* 投稿・記事　詳細ブログページ　PC　
/*======================================================*/
.siteblog_contents_wrap {
    width: 1000px;
    margin: 0 auto 5em;
}
#post_mds  {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 200px;
    background-size: 40%;
    box-sizing: border-box;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: .05em;
    text-align: center;
    background-image: repeating-linear-gradient(-45deg,#eee 0 6px,transparent 6px 12px);
    /*background-image: repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px 2px), repeating-linear-gradient(#fff 0 1px, var(--dot-color) 1px 2px);
    --dot-color: #3894cf;*/
    color: #3894cf;
    margin-bottom: 1em;
}
.heading_title {
    font-size: 40px;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: .05em;
}
.heading_title span {
    display: block;
    font-size: 24px;
    line-height: 1;
}
.post_wrap {
    margin: 0 auto 5em;
}
.post_contents-fullwidth {
    max-width: 700px;
    margin: 0 auto;
}
.post_contents-fullwidth h1 {
    text-align: center;
    font-size: 1.8em;
    margin: 0 auto 1em;
}
.post-featured-image {
  margin-bottom: 20px;
}
.post-featured-image img {
  max-width: 100%;
  height: auto;
  display: block;
}
.post-featured-image img {
    margin: 0 auto;
}
.post-content h2, .post-content p {
    color: #656565;
}
.post-content h2 {
    font-size: 1.6em;
    margin: 2.5em 0 .8em;
}
.post-content {
    line-height: 1.8;
    font-size: 1.2em;
}
.post-content p {
  line-height: 1.8;
}
#post_btn_wrap {
    margin: 3em auto 0;
}
/*下矢印*/
.post-content h2 {
   --baloon-color:#3894cf;
   position: relative;
   border-bottom: 3px solid var(--baloon-color);
   padding:.3em 0;
   color:#333; /* 文字色（黒）*/  
}
.post-content h2:before, .post-content h2:after {
   position: absolute;
   content: '';
   left: 1em;
   width: 0;
   height: 0;
   border-width: 14px 12px 0;
   border-style: solid;
}
.post-content h2:before {   
   bottom: -14px;   
   border-color:var(--baloon-color) transparent transparent;
}
.post-content h2:after {
   bottom: -10px;
   border-color: #fff transparent transparent;
}
.post-content h3 {
    font-size: 19px;
    color: #004fbe;
  margin-top: 1em;
}

.post-content h4 {
    border-bottom: 2px dotted #ccc;
    margin-bottom: 10px;
    font-size: 1.3em;
    color: #3894cf;
}

/*装飾
-------------------------------------------------------------------------*/
/*タグ風見出し*/
.midashi_tag {
    position: relative;
    display: inline-block;
    height: 45px;
    margin-left: 40px;
    padding: 1rem 2rem;
    color: white;
    background: #2F5597;
}
.midashi_tag:before {
    position: absolute;
    top: 0;
    left: -34px;
    content: '';
    border-width: 23px 34px 23px 0;
    border-style: solid;
    border-color: transparent #2F5597 transparent transparent;
}
.midashi_tag:after{
 position:absolute;
 top: calc(50% - 7px);
 left:-10px;
 width:15px;
 height:15px;
 content:'';
 border-radius:50%;
 background:white;
}
/*BOX 見出し有*/
.box_001 {
   margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
   border: 1px solid #8b9b9d; /* ボックスの枠線 */
}

.box_001 .box_001-title {
   background-color: #8b9b9d; /* タイトル部分の背景色 */
   color: #fff; /* タイトルの文字色（白） */
   padding: .5em 1em; /* タイトル部分の内側余白 */
   text-align: center; /* タイトルを中央揃え */
   font-weight: bold; /* タイトルの太字 */
}
.box_001 .box_001-content {
    padding: 2% 3%;
}
.box_001-content p {
    margin: 0;
    padding: 0;
    line-height: 2;
}
/*box 実線で囲むだけ*/
.box_002 {
    padding: 1em;
    margin: .5em 0 1.5em;
    font-weight: bold;
    border: solid 2px #3894cf;
    border-radius: 4px;
}
.box_002 p {
    margin: 0; 
    padding: 0;
    line-height: 2;
}
/*両端に斜線*/
.cross_line {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333333;
  font-weight: 600;
}
.cross_line::before,
.cross_line::after {
    width: 3px;
    height: 40px;
    background-color: #2589d0;
    content: '';
}
.cross_line::before {
    transform: rotate(-35deg);
    margin-right: 30px;
}
.cross_line::after {
    transform: rotate(35deg);
    margin-left: 30px;
}
/*======================================================*/
/* サイドメニュー　カテゴリー追加の場合
/*======================================================*/
/* 2カラムレイアウト */
#post_main {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

#content {
  flex: 1;
  min-width: 0; /* はみ出し防止 */
}

#side {
  width: 300px;
  flex-shrink: 0;
  font-size: 14px;
  line-height: 1.6;
}
/* ボックスの基本デザイン */
#side .side-box {
  margin-bottom: 25px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    text-align: left;
}

/* 見出し */
#side .side-box h2 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid #eee;
}

/* リスト */
#side ul {
  list-style: none;
  margin: 0;
  padding: 0;
        text-align: left;
}

#side ul li {
  border-bottom: 1px solid #f0f0f0;
}

#side ul li:last-child {
  border-bottom: none;
}

/* 矢印アイコン付きリンク */
#side ul li a {
  display: block;
  padding: 8px 0;
  color: #333;
  text-decoration: none;
  transition: color 0.3s;
}

#side ul li a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105"; /* fa-angle-right */
  margin-right: 8px;
  color: #999;
}

#side ul li a:hover {
  color: #0073aa; /* WordPressっぽいブルー */
}
