@charset "utf-8";
/*===============================
	Bace
================================*/
body {
margin:0;
/* -webkit-appearance:none; */
-webkit-text-size-adjust:100%;
}
a {
color:inherit;
text-decoration:none;
}
a:hover {
color:#CCCCC8;
transition: 0.5s;
}
/*==================
#swiper
==================*/
.container-swiper {

  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  margin-top: 10px;
  position: relative;/*相対配置*/
  overflow: hidden;
  }
  .swiper-slide  {
    /* ページ背景（body）と同じ色。フェード切替で前のスライドが透けないよう透明にはしない（2026-10-08変更） */
    background: #ffffff;
    }
  .swiper-slide  {
  margin: 0 0 0 0px;
  }
  .swiper-autoheight, .swiper-autoheight .swiper-slide {
   height:  unset;
  }
  .swiper-pagination{
  margin-bottom: 0px;
  margin-left: 0px;
  }
.container-swiper .text-block {
position: absolute;/*絶対配置*/
top: 0px;
left: 0px;	
}

/*Type
================================*/
.wf-mplus1p { font-family: "M PLUS 1p"; }
.wf-roundedmplus1c { font-family: "M PLUS Rounded 1c"; }
.up{
text-transform: uppercase;
}
h1.type-TTL {
font-family:'Montserrat', sans-serif;
font-size:200%; /* サイト名。ヘッダーの CATEGORIES 等と同じ大きさ（2026-10-10 360% から変更） */
font-weight:500;
letter-spacing:-0.1em;
line-height:0.5em;
margin-bottom:3px;
margin-left:-0.1em;
margin-top:0px;
padding:0em;
color:#444444;
-webkit-appearance:none;
}
h1.type-TTL02 {
font-family: "M PLUS Rounded 1c";
font-size:100%;
font-weight:300;
line-height:2.0em;
margin-bottom:10px;
}
h1.type-A, h2.type-A, h3.type-A, h4.type-A, h5.type-A, h6.type-A {
font-family:'Montserrat', sans-serif;
font-size:100%;
font-weight:500;
line-height:1.1em;
letter-spacing:-0.05em;
}
h1.type-B, h2.type-B, h3.type-B, h4.type-B, h5.type-B, h6.type-B {
font-family:'Montserrat', sans-serif;
font-size:120%;
font-weight:500;
letter-spacing:-0.05em;
color:#444444;
}
h1.type-C, h2.type-C, h3.type-C, h4.type-C, h5.type-C, h6.type-C {
font-family:'Montserrat', sans-serif;
font-size:55%;
font-weight:700;
letter-spacing:-2px;
line-height:1em;
margin-top:5px;
}
h1.type-D {
font-family:'Montserrat', sans-serif;
font-size:100%;
font-weight:500;
letter-spacing:-1px;
line-height:1em;
margin-top:5px;
}
ul.type-J {
font-family:"M PLUS Rounded 1c";
}
h1.type-300 {
font-family:'Montserrat', sans-serif;
font-size:180%; /* ページ見出し。下の小見出し（type-200）と同じ大きさ（2026-10-10 300% から変更） */
font-weight:500;
letter-spacing:-2px;
line-height:0.8em;
margin-bottom:0px;
margin-left:-0.05em;
margin-top:0px;
padding:0em;
color:#444444;
-webkit-appearance:none;
}
h1.type-200 {
font-family:'Montserrat', sans-serif;
font-size:160%; /* ヘッダーのカテゴリ一覧と同じ大きさ（2026-10-10 200% から変更） */
font-weight:300; /* ヘッダーのカテゴリ一覧と同じ細さ（2026-10-10 500 から変更） */
letter-spacing:-2px;
line-height:1.0em;
margin-bottom:20px;
margin-top:0px;
padding:0em;
}
h1.type-200fc1 {
color: #444444;
font-family:'Montserrat', sans-serif;
font-size:200%;
font-weight:500;
letter-spacing:-2px;
line-height:1.0em;
margin-bottom:10px;
margin-top:15px;
padding:0em;
}
.type-x {
font-family:'Montserrat', sans-serif;
font-weight:500;
letter-spacing: -0.05em;
}
.categories02 {
font-family:'Montserrat', sans-serif;
font-size:100%;
font-weight:500;
line-height:1.1em;
letter-spacing:-0.05em;
}
.categories02 a {
font-weight:300;	
}
.org{
color: rgb(247, 170, 25) ; 
}
.red{
color: rgb(222, 78, 34) ; 
}
.fa-fire-alt{
color: rgb(222, 78, 34) ; 
}
/*.fas{
color: #444444 ; 
}*/
.cl01{
color:#444444;
}
.type-D i{
color:#444444;    
}
.type-060 i{
color:#444444;    
}
.sidemenu i{
color:#444444;    
}
.postnavi i{
color:#444444;    
}
.blog-card-sp .type-x i{
color:#444444;    
}
.blog-card-sp_links i{
color:#444444;    
}
/*.postlist02-title i{
color:#444444;       
}*/


/*	TopScroll
================================*/
#page-top {
bottom:90px;
font-family:'Montserrat', sans-serif;
font-size:90%;
font-weight:700;
letter-spacing:0px;
position:fixed;
right:40px;
color:#444444;
}
/*#page-top a {
background-image:linear-gradient(rgba(0,0,0,0) 50%, rgba(0, 0, 0, 1) 50%);
background-position:0 0;
background-size:auto 200%;
margin-left:1.36em;
padding:0.1em;
padding-right:0;
transition:.3s;
}*/
#page-top {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}


/*	Single
================================*/
.description{
margin-top: 30px;
}
.description02{
margin-top: 0px;
}
.description02 h1 {
margin-top: 0px;
}
/* 日付表示。body_class() で年別・月別アーカイブの body にも .date が付くので、body には当てない（2026-10-08修正） */
.date:not(body){
font-family: 'Montserrat', sans-serif;
font-size: 130%;
font-weight: 500;
letter-spacing:-0.05em;
line-height: 1.34;
margin-bottom: 1.34em;
color:#444444;
}
.date2{
font-family: 'Montserrat', sans-serif;
font-size: 150%;
font-weight: 500;
letter-spacing: 0px;
line-height: 1.34;
margin-bottom: 1.34em;
padding-left: 3px;
}
.title2{
font-family: "M PLUS Rounded 1c";
font-size: 120%;
font-weight: normal;
letter-spacing: 0px;
line-height: 1.0em;
padding-bottom: 10px;
margin-bottom: 30px;
margin-top: 5px;
/*text-transform: uppercase;*/
border-left: solid 0px #2b2b2b;/*点線*/
border-right: dashed 0px #2b2b2b;/*点線*/
border-top: dashed 0px #2b2b2b;/*点線*/
border-bottom:solid 1px #444444;/*点線*/
}
.title3{
font-family: "M PLUS Rounded 1c";
font-size: 110%;
font-weight: normal;
letter-spacing: 0px;
padding-top: 20px;
margin-bottom: 5px;
margin-top: 0px;
/*text-transform: uppercase;*/
border-bottom:solid 1px #2b2b2b;/*点線*/
}
h2 .title3{
font-family: "M PLUS Rounded 1c";
font-size: 110%;
font-weight: normal;
letter-spacing: 0px;
/*padding-top: 5px;*/
margin-bottom: 5px;
margin-top: 0px;
/*text-transform: uppercase;*/
border-bottom:solid 0px #2b2b2b;/*点線*/
/*border-left: solid 5px #7db4e6;/*左線*/
position: relative;
display: inline-block;
}
h2 .title3:before, h2 .title3:after { 
  position: relative;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  font-size: 1.0em;
  color: #4b4b4b;
}
h2 .title3:before {
  content:"\f053";/*アイコン種類*/
  padding-right: 0.5em
}
h2 .title3:after {
  content:"\f054";/*アイコン種類*/
  padding-left: 0.5em
}
/*h2 .title3:before {
content: '';
position: absolute;
bottom: -2px;/*線の上下位置*/
/*display: inline-block;
width: 15px;/*線の長さ*/
/*height: 2px;/*線の太さ*/
/*background-color: #2b2b2b;/*線の色*/
/*border-radius: 0px;/*線の丸み*/
/*}*/
.news2 {
padding-bottom: 10px;
padding-top: 40px;
font-family: "M PLUS Rounded 1c";
}
.news .blog-list{
padding-bottom: 10px;
padding-top: 10px;
}
.news .blog-list-time{
max-width: 100px;
width: 100px;
}
.blog-list-box{
margin-bottom: 1rem;
}
.news .content{
font-family: "M PLUS Rounded 1c";
padding-bottom: 10px;
padding-top: 0px;
}
.news2{
padding-bottom: 0px;
padding-top: 40px;
}
.content p{
	margin-top: 5px;
margin-bottom: 15px;
}
.content a{
border-bottom:solid 1px #2b2b2b;/*点線*/
}
/* 記事本文のリスト：番号・黒丸が左にはみ出さないように余白を確保 */
.content ol,
.content ul {
padding-left: 1.8em;
margin-top: 5px;
margin-bottom: 15px;
}
.content li {
margin-bottom: 0.3em;
}
/* 記事本文の箇条書きだけ黒丸を表示する（ナビなどは別のCSSで非表示のまま） */
.content ul {
list-style: disc;
}
/* シェアボタン・関連記事が本文内にある場合、上の余白と黒丸がかからないようにする */
.content .sharebtn ul,
.content .related_post ul {
padding-left: 0;
list-style: none;
}
.news img{
margin-bottom: 10px;
}
.news img{
height: auto;
max-width: 100%;
vertical-align: bottom;
}
.indexlist{
padding-bottom: 40px;
padding-top: 10px;
}


/*	SNSshre
================================*/
.sharebtn {
font-size:200%;
margin-top:0px;
padding-top :20px;
padding-bottom: 15px;
border-bottom:solid 1px #2b2b2b;/*点線*/
color:#444444;
}
.sharebtn ul {
margin-left:-10px;
text-align:left;
}
.sharebtn ul li {
display:inline-block;
margin-left:10px;
letter-spacing:-5px;
}
/*	PostNavi single.php
================================*/
.postnavi {
font-family: "M PLUS Rounded 1c";
padding-bottom:20px;
padding-top:10px;
}
.prev {
font-family:'Montserrat', sans-serif;
font-weight:500;
margin-left:auto;
margin-right:auto;
margin-bottom: -10px;
}
.prev a {
color:#666;
font-weight:normal;
line-height:25px;
margin-bottom:7px;
}
.prev a:hover {
color:#bcbcbc;
}
.next {
font-family:'Montserrat', sans-serif;
font-weight:500;
margin-left:auto;
margin-right:auto;
letter-spacing:-0.05em;
}
.next a {
color:#666;
font-weight:normal;
line-height:25px;
margin-bottom:7px;
}
.next a:hover {
color:#bcbcbc;
}
.categories {
font-family:'Montserrat', sans-serif;
font-size:110%;
font-weight:500;
margin-top:0px;
margin-bottom: 20px;
line-height: 1.0em;
letter-spacing:-0.05em;
border-top:solid 0px #2b2b2b;/*点線*/
}
.categories a {
font-weight:300;	
text-transform: uppercase;
}
.recentcategories {
font-family:'Montserrat', sans-serif;
padding-bottom:0px;
padding-top:10px;
}
.recentcategories2 {
font-family:'Montserrat', sans-serif;
padding-bottom:10px;
padding-top:10px;
}

/*  Container 
================================*/
/*PageHeader*/
.page-header {
position:static;
margin-bottom: 0px;
}
.page-header .transform {
background:rgba(255, 255, 255,.4);
left:0;
position:fixed;
top:0;
transition:.5s;
width:100%;
z-index:9998;
}
.page-header-inner {
margin-bottom:0px;
margin-top:35px;
}
.page-header.hide {
transform:translatey(-100%);
}
.page-header-inner svg {
margin-top:0;
width:33px;
}
.page-header-inner img {
margin-top:0;
}
.container00, .container01,.container02,.container03,.container04,.page-header,.footer {
margin-left: 2.5em;
margin-right: 2.5em;
}

.headnavi {
width: 100%;
margin-top: 10px;
margin-bottom: 0px;
}
.headnavi ul {
padding:0px;/* ボーダー内側の余白 */
font-family:'Montserrat', sans-serif;
font-size:180%;
font-weight:500;
letter-spacing: -0.05em;
line-height:1em;
margin-top:0px;
}
.headnavi  li {
display: inline-block;/* インラインブロック要素にする */
font-weight:300;
margin-top:0px;
text-align: center; /* 配置 */ 
}

/*  Post List01
================================*/
.postlist02 {
font-family: "M PLUS Rounded 1c"; 
border-top:dashed 0px #2b2b2b;/*点線*/
border-bottom:dashed 0px #2b2b2b;/*点線*/
word-wrap:break-word;
max-width:100%;
border-radius:0px;
margin-top: 10px;
margin-bottom: 15px;
padding-left: 0px;
padding-right: 0px;
padding-top: 10px;
padding-bottom: 0px;
}
h1.type-A a {
font-weight: 300;
}
.postlist02 a {
text-decoration: none;
}
.postlist02-title {
display: block;
}
.postlist02-thumbnail {
float:left;
padding-top:0px;
padding-bottom:0px;
padding-left:0px;
padding-right: 5px;
border-radius: 0%;
overflow: hidden;
}
.postlist02-thumbnail img {
width: 80px;
height: 60px;
object-fit: cover;
margin-right: .4rem;
border: solid 1px #a6a;
border-radius: 0px;	
display: block;
padding: 0;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.postlist02-thumbnail img {
margin-bottom: initial;
margin: 0px;
padding: 0px;	
border: 0px;
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");/*画像をモノクロに*/	
filter: grayscale(95%);/*画像をモノクロに*/
-webkit-filter: grayscale(95%);/*画像をモノクロに*/
}
.postlist02-thumbnail img:hover{
filter: none;/*画像をカラーに*/
transition: 1.5s;
-webkit-filter: grayscale(0%);/*画像をカラーに*/
}
.postlist02-content {
line-height:120%;
}
.postlist02-title {
font-size:100%;
line-height: 1.5em;
}
.postlist02-excerpt {
color:#333;
line-height: 1.5em;
}
.postlist02 .clear {
clear: both;
}
.postlist02-site {
color: #b2b2b2;
font-size: 11px;
padding-left: 5px;
}
.postlist02-view {
color: white;
background-color: black;
font-size: 80%;
width:50px;
text-align:center;
}


/*	sidemenu 
================================*/ 
.sidemenu{
margin-top: 30px;
font-family:'Montserrat', sans-serif;
font-size:100%;
font-weight:500;
line-height:1.1em;
letter-spacing:-0.05em;
}
.sidemenu p{
margin-top: 6px;
}

/* PLUGIN WP-Page Navi　角丸
*=============================== */
.navigation{
clear: both;
font-size: 80%;
line-height: 20px;
padding-top: 15px;
padding-bottom: 20px;
}
.wp-pagenavi{
clear: both;
font-size: 80%;
font-family:'Montserrat', sans-serif;
}
.wp-pagenavi a, .wp-pagenavi span {/*全体の指定*/
color: #fff;
background-color: #444444;
border: solid 1px #444444;/*ボーダ色*/
padding: 5px 5px;
margin: 0 2px;
white-space: nowrap;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
-webkit-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
transition: 0.2s ease-in-out;
text-align: center;
text-decoration:none;
}
.wp-pagenavi a:hover{/*マウスオン時の指定*/
color: #444444;
background-color: #F2F2ED;/*背景色*/
border: solid 1px #444444;/*ボーダ色*/
}
.wp-pagenavi span.current{/*現在ページの指定*/
color: #444444;
background-color: #F2F2ED;/*背景色*/
border: solid 1px #444444;/*ボーダ色*/
font-weight: bold;
}



/*	Footer 
================================*/ 
.footer{
padding-bottom: 100px;
padding-top: 0px;
}
.footer-inner{
border-top: 0px solid rgb(153, 153, 153);
margin: auto;
margin-top: 50px;
padding-bottom: 60px;
padding-top: 0px;
}
/*  Copyright 
================================*/ 
.copyright{
float: left;
font-family: 'Montserrat', sans-serif;
font-size: 90%;
font-weight: 500;
letter-spacing: 0px;
line-height: 1.2em;
padding-top: 0px;
text-transform: uppercase;
}

/* Search 
================================
form#searchform input[type="text"]{
border: none;
border-bottom: 1px solid #000;
padding: 0px 0px;
}
form#searchform input[type="submit"]{
background: #ffffff;
color:#2b2b2b;
border: none;
cursor: pointer;
font-family: 'Montserrat', sans-serif;
font-size: 100%;
font-weight: 500;
letter-spacing:-0.05em;
}
form#searchform input[type="submit"]:hover{
background: #ffffff;
color: #bdc3c7;
}*/
.searchform{
margin-top: 10px;
margin-bottom: 10px;
}
.search_container{
box-sizing: border-box;
}
.search_container input[type="text"]{
border: none;
border-bottom: 1px solid #3C3C3B;
padding: 0px 0px;
background: #ffffff;
overflow: hidden;
}
.search_container input[type="text"]:focus {
outline: 0;
background: #ffffff;
}
.search_container input[type="submit"]{
cursor: pointer;
font-family: FontAwesome;
font-size: 1.3em;
border: none;
background: none;
color: #444444;
outline : none;
display: inline-block;
vertical-align: middle;
}
input:-webkit-autofill {
box-shadow: 0 0 0 1000px #ffffff inset;
}

/*	Container 上下
================================*/
.container01{
padding-top: 0px;
}
.container02{
padding-top: 80px;
}
.container03{
padding-bottom: 20px;
}
.container03-1{
padding-bottom: 20px;
}
.container03-3{
padding-bottom: 20px;
}
.container04{
padding-top: 0px;
}
.recentcategories {
font-family:'Montserrat', sans-serif;
padding-bottom:0px;
padding-top:0px;
}
/*	ContactForm7-2
================================*/
.wpcf7{width: 100%;}

/* .form-width { max-width: 100%;} */
.wpcf7 form input[type="text"],
.wpcf7 form textarea{
width: 400px; 
/* background-color: #ffcfba; */
border: none;
border: 1px solid #1B2426;
color: #666;
padding: 10px 0px;
background-color: #F2F2ED;
height: 15px;
border-radius:5px;
}
.wpcf7 form p {
text-transform: uppercase;
border-bottom: 1px solid #000;
color: #666;
padding-bottom: 0;
}
.wpcf7 form input[type="email"]{
border: none;
border: 1px solid #1B2426;
color: #666;
background-color: #F2F2ED;
font-size: 100%;
padding: 10px 0px;
vertical-align: text-bottom;
width: 400px;
height: 15px;
border-radius:5px;
}
.wpcf7{
font-size: 100%;
font-weight: 600;
font-family: 'Montserrat', sans-serif;
}
.wpcf7 form textarea{
line-height: 180%;
height: 15px;
}
.wpcf7 form input[type="submit"]{
background: #F2F2ED;
border: none;
color: #1B2426;
cursor: pointer;
font-size: 16px;
font-weight: 700;
height: 40px;
letter-spacing: -1px;
margin-top: 20px;
-moz-transition: background-color 0.2s linear;
-o-transition: background-color 0.2s linear;
-webkit-transition: background-color 0.2s linear;
}
.wpcf7 form input[type="submit"]:hover{
color: #bdc3c7;
}
.wpcf7 .noline{
border-bottom: 0px solid #000;
}
.wpcf7-response-output {
width: 400px;
font-weight: normal;	
background: #F2F2ED;
border-radius: 15px;
border: 0px;
line-height: 25px;
text-align: center;
}
span.wpcf7-not-valid-tip {
color: #f00;
font-size: 1em;
font-weight: normal;
display: block;
position: absolute;
top: 0;
width: 400px;
text-align:right;
}
.div .wpcf7-mail-sent-ok {
border: 0px solid #398f14;
}
/*blog-card02
================================*/
.blog-card02 {
display: block;
line-height: 1;
background-color: #ffffff;
border: 1px solid #9FA3A6;
word-wrap: break-word;
margin: 0px;
/*box-shadow: 0 0 10px 6px rgba(0,0,0,.025);*/
}
.blog-card02.ex {
background-color: #ffffff;
margin-bottom: 15px;
/*height: 600px;*/
}
.blog-card02 a {
text-decoration: none;
opacity: 1;
transition: all 0.2s ease;
}
.blog-card02 a:hover {
opacity: 0.6;
}
.blog-card02_thumbnail {
float: left;
padding: 10px;
}
.blog-card02_thumbnail:after {
content: "";
clear: both;
display: block;
}
.blog-card02_title {
font-family:'Montserrat', sans-serif;
font-size: 1em;
font-weight: bold;
line-height: 1.4;
padding: 17px 20px 10px;  
}
.blog-card02_excerpt {
font-size: 0.85em;
line-height: 1.6;
padding: 0 17px 15px 20px;
}
.blog-card02_link {
font-family:'Montserrat', sans-serif;
font-weight: 500;
font-size:1em;
padding:0 17px 15px 20px;
text-align: left;
}
.blog-card02_link .favicon {
margin-bottom: 0px;
}
.blog-card02_link .icon-external-link-alt::before {
font-size:0.75em;
}
/*blog-card-sp
================================*/
.blog-card-sp {

display: block;
/*background-color: #ffffff;*/
border: 0px solid #bebebe;
border-left:2px solid #9FA3A6;
border-right:0px solid #bebebe;   
word-wrap: break-word;
padding-left: 10px;
margin-bottom: 15px;
/*box-shadow: 0 0 10px 6px rgba(0,0,0,.025);*/
color:inherit;
text-decoration:none;
line-height: 1.2em;
}
/*.blog-card-sp a {text-decoration:underline;}*/
.blog-card-sp_link .favicon {
margin-bottom: 0px;
}
.blog-card-sp_link {
font-family:'Montserrat', sans-serif;
font-weight: 500;
font-size:1em;
text-align: left;
}

/*related_post
================================*/
.related_post {
margin-top: 5px;
padding-top: 10px;
/*border-top:dotted 1px #2b2b2b;点線*/
border-top:solid 1px #2b2b2b;/*実線*/
}
.related_title {
line-height: 0.8em;
}
.related_post h3 {
font-family:'Montserrat', sans-serif;
font-size:180%;
font-weight:500;
margin-top:0px;
margin-bottom: 15px;
letter-spacing:-0.05em;
color:#444444;
border-bottom:solid 0px #2b2b2b;/*点線*/
}
.related_post ul li{
margin-bottom: 8px;
}
.related_post li{
line-height: 1.0em;
position: relative;
padding-left: 15px;
}
.related_post li:last-child{
border:none;
margin: 0;
margin-top: 10px; margin-bottom: 10px;
}
.related_post li:before{
font-family: FontAwesome;
content: "\f0da";
position: absolute;
left: 5px;
font-size: 1.1em;
-webkit-transition: all 0.8s ease-in-out;
transition: all 0.8s ease-in-out;
background-position: bottom;
}
.post_date{
font-family:'Montserrat', sans-serif;
font-size:100%;
font-weight:500;
letter-spacing:-0.05em;   
}


/*GoogleAD
================================*/
.googlead{
margin-top: 15px;
margin-bottom: 15px;
margin-left: 0px;
margin-right: 0px;
}

/* =========================================
   記事内の表（WordPress 表ブロック）
   ========================================= */

/* 行（データセル）の背景：白 */
.entry01 .wp-block-table td {
	background: #FFFFFF;
}

/* ヘッダー（見出しセル）の背景：薄いグレー */
.entry01 .wp-block-table th,
.entry01 .wp-block-table thead td {
	background: #F0F0F0;
	font-weight: bold;
}

/* =========================================
   記事内の表：中身に合わせた幅＋左寄せ
   ========================================= */

/* 表の幅を中身に合わせる（WPコアの固定幅レイアウト・幅100%を上書き） */
.entry01 .wp-block-table table,
.entry01 .wp-block-table .has-fixed-layout {
	width: auto;
	max-width: 100%;
	table-layout: auto;
}

/* 表全体を左寄せ（中央寄せ・左右寄せの指定があっても左に置く） */
.entry01 .wp-block-table,
.entry01 .wp-block-table.aligncenter,
.entry01 .wp-block-table.alignleft,
.entry01 .wp-block-table.alignright {
	display: block;
	margin-left: 0;
	margin-right: auto;
}

/* 長い文字列（URLやコード）がセルからはみ出さないように折り返す */
.entry01 .wp-block-table td,
.entry01 .wp-block-table th {
	word-break: break-word;
}


/*===============================
  ===============================
	RESPONSIVE 設定
  ===============================
================================*/

/*===============================
	Less than 767
================================*/
@media (max-width: 767px) {

/*　画面サイズが767px以下の場合ここの記述が適用　*/
.container01-1{
margin-top: 30px;
}
.container00, .container01,.container02,.container03,.container04,.page-header {
margin-left: 2.0em;
margin-right: 2.0em;
}
h1.type-TTL {
font-size:180%; /* スマホもPCと同じ大きさ（2026-10-10 335% から変更） */
border-bottom:solid 0px #2b2b2b;/*点線*/
margin-bottom: 0px;
}
.page-header-inner svg {
width:30px;
}
h1.type-300 {
font-size:180%; /* スマホ：type-200 と同じ大きさ（2026-10-10 260% から変更） */
-webkit-appearance:none;
}
h1.type-200 {
font-size:180%;
}
h1.type-200fc1 {
font-size:180%; /* トップの POPULAR POSTS 見出し。スマホでも LATEST POSTS と同じ大きさに（2026-10-10追加） */
}
/*	ContactForm7-2
================================*/
.wpcf7-response-output {
width: 100%;
}
.wpcf7 form input[type="email"]{
width: 100%;
}
.wpcf7{width: 100%;}
.wpcf7 form textarea{
width: 100%;
}
.wpcf7 form input[type="text"]{
width: 100%;
}
/* ↓ 先頭の「.」が抜けていて効いていなかった指定。直すとスマホで幅200pxになるので無効のまま残す
.wpcf7-response-output {
width: 200px;
}
*/
span.wpcf7-not-valid-tip {
color: #f00;
font-size: 1em;
font-weight: normal;
display: block;
position: absolute;
top: 0;
width: 400px;
text-align:right;
}
#page-top {
right:20px;
}
/*blog-card02
================================*/
.blog-card02_thumbnail {
margin-top: 10px;
}
/*.blog-card02_thumbnail img {
width: 160px;
}
.blog-card02_thumbnail:after {
content: "";
clear: both;
display: block;
}*/
.searchform{
margin-top: 30px;
}   
}

/*===============================
	Over 768px
================================*/
@media (min-width: 768px) {

/*　画面サイズが768px以上960px以下の場合ここの記述が適用　*/
.container01:after{
clear: both;
content: "";
display: block;
}
.container01-1{
box-sizing: border-box;
float: left;
margin-top: 90px;
-moz-box-sizing: border-box;
padding-right: 60px;
-webkit-box-sizing: border-box;
width: 70%;
}
.container01-2{
float: left;
padding-left: 0px;
margin-top: 20px;
width: 25%;
}
.container00, .container01, .page-header {
margin-left: 2em;
margin-right: 2em;
}
.container01:after{
clear: both;
content: "";
display: block;
}

}

/*===============================
	Over 960px
================================*/
@media (min-width: 960px) {
/*　画面サイズが960px以上の場合ここの記述が適用　*/
/*  PageHeader 
================================*/ 
.page-header-inner{
height: 60px;
margin-bottom: 0px;
margin-top: 30px;
} 
/*PageHeader*/
.page-header, .footer{
margin-left: auto;
margin-right: auto;
width: 960px;
}

/*  Container 
================================*/ 
.container00, .container01, .container02, .container03, .container04, .container05, .container06, .containertitle01,.page-header, .footer{
margin-left: auto;
margin-right: auto;
width: 960px;
}
}
/* 記事ページの1カラム化（V04.4 で追加）は V04.5 で削除し、元の2カラムに戻した（2026-10-10） */

/*===============================
	記事本文の画像：高さで制限して中央に配置（2026-10-08追加）
	・高さ最大300px（縦横比は維持）、本文幅からははみ出さない
	・絵文字・ファビコンなど小さいアイコンは対象外
================================*/
.single .content img:not(.favicon):not(.emoji):not(.wp-smiley) {
	display: block;
	max-height: 420px;              /* 300px → 420px */
	max-width: min(100%, 640px);    /* 100% → 640pxまで（スマホでは画面幅） */
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

/* 背景画像スライダー（.slider）：縦横比 70%（padding-top:70%）で作られているので、
   幅を 300px ÷ 0.7 ≒ 429px までに抑えて高さを最大300pxにし、中央に配置 */
.single .content .slider {
	max-width: calc(300px / 0.7);
	margin-left: auto;
	margin-right: auto;
}

/*===============================
	ブログカード（sc_Linkcard）（2026-10-08追加）
================================*/
/* カードの中で float を完結させ、後ろの本文が回り込まないようにする */
.blog-card02 {
	display: flow-root;
}
.clear {
	clear: both;
}
/* 画像を横並びにせず、タイトル・説明文を画像の下に表示する */
.blog-card02_thumbnail {
	float: none;
}
.blog-card02_thumbnail img {
	max-width: 100%;
	height: auto;
}

/*===============================
	ヘッダー：キャッチフレーズの下の空きを詰める（2026-10-10追加）
	・ヘッダー全体の高さは変えず、詰めた分の余白をサイト名の上に移す
	・サイト名＋キャッチフレーズが CATEGORIES のすぐ上に来る
================================*/
/* キャッチフレーズの下の余白（10px）と、CATEGORIES の上の余白（10px）をなくす */
h1.type-TTL02 {
	margin-bottom: 0;
}
.headnavi {
	margin-top: 0;
}
/* 959px以下：ヘッダー上の余白（サイト名の上）。55px の半分くらいに詰める（2026-10-10 55px → 28px） */
.page-header-inner {
	margin-top: 28px;
}
/* 960px以上：ヘッダー上部は高さ60pxの箱。中身を箱の下に寄せて、CATEGORIES に詰める */
@media (min-width: 960px) {
	/* 960px以上：ヘッダー上の余白を 62px の半分くらいに詰める（2026-10-10）。
	   元の「高さ60pxの箱」をやめて中身の高さに合わせ、余白は margin-top だけにする */
	.page-header-inner {
		height: auto;
		margin-top: 31px;
	}
}

/*===============================
	サイト名の左の飾り「\\」（2026-10-10追加）
	・header.php の SVG（.ttl-mark）。大文字の高さに合わせ、線の太さはサイト名と同じくらい
================================*/
h1.type-TTL .ttl-mark {
	display: inline-block;
	width: 0.46em;
	height: 0.7em;           /* 大文字の高さに合わせる */
	margin-right: 0.06em;    /* サイト名との隙間（文字の \\ と同じくらい） */
	vertical-align: baseline;
	overflow: visible;
}
h1.type-TTL .ttl-mark path {
	fill: none;
	stroke: currentColor;    /* サイト名と同じ色 */
	stroke-width: 17;        /* サイト名（太さ500）と同じくらいの線の太さ */
	stroke-linecap: butt;
}

/*===============================
	記事ページの目次（右サイド）（2026-10-10追加）
	・768px以上：本文と右サイドを横並びのまま「同じ高さ」にして、目次をスクロールに付いてこさせる
================================*/
.memo-toc {
	margin-top: 30px;
	font-family: 'Montserrat', sans-serif;
}
/* JS が動くまでは非表示（base.css の nav { display: block } が hidden を打ち消すので明示する） */
.memo-toc[hidden] {
	display: none;
}
/* 見出しが2つ未満の記事：「NO CONTENTS」とだけ表示（2026-10-10） */
.memo-toc.is-empty .memo-toc_title {
	margin-bottom: 0;        /* 色は CONTENTS と同じ #222222（2026-10-10 #888888 から変更） */
}
.memo-toc_title {
	font-size: 100%;
	font-weight: 500;
	letter-spacing: -0.05em;
	color: #222222;          /* サイドメニュー（PRIVACY POLICY など）と同じ（2026-10-10 #444444 から変更） */
	margin-bottom: 8px;
}
.memo-toc_title i {
	color: #444444;          /* アイコンの色もサイドメニューの 🔗 と同じ */
}
.memo-toc_list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 1px solid #dddddd;
}
.memo-toc_item a {
	display: block;
	padding: 4px 0 4px 12px;
	margin-left: -1px;               /* 左の線と重ねる */
	border-left: 2px solid transparent;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 95%;
	line-height: 1.5;
	color: #888888;
	transition: color 0.2s, border-color 0.2s;
}
.memo-toc_h3 a {
	padding-left: 24px;              /* h3 は一段下げる */
	font-size: 90%;
}
.memo-toc_item a:hover {
	color: #222222;
}
.memo-toc_item a.is-current {    /* 今読んでいる見出し */
	color: #222222;
	border-left-color: #444444;
}
@media (min-width: 768px) {
	/* 本文と右サイドを同じ高さに（float → flex）。右サイドが本文の下まで伸びるので、目次が付いてこられる */
	.single .container01 {
		display: flex;
		align-items: stretch;
	}
	.single .container01::after {
		display: none;                 /* float 解除用の疑似要素は不要 */
	}
	.single .container01-1,
	.single .container01-2 {
		float: none;
	}
	.single .container01-2 {
		margin-left: auto;             /* 右端に寄せる（今までと同じ位置） */
	}
	.memo-toc {
		position: sticky;              /* スクロールしても画面の上に残る */
		top: 20px;
		max-height: calc(100vh - 40px);
		overflow-y: auto;              /* 目次が長い時は目次の中だけスクロール */
	}
}
/* ページ内リンクで飛んだ時、見出しが画面の端にくっつかないように */
.single .content h2,
.single .content h3 {
	scroll-margin-top: 20px;
}
