/*  
Theme Name: 29theme-R-1.02 レスポンシブデザイン
Theme URI: 
Description: 最新SEO対策済み、「Google PageSpeed Insights」99点、ワードプレス専用テーマです。カスタマイズ可能。1カラム、2カラムを切り替え可能。記事一覧の無限スクロール機能。メニューバー固定＆サイドバー固定機能。
Author: takeshi ogura
Author URI: https://nkden.com/
Version: 1.011
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 29theme-r
*/
body {
	font-family: "Yu Gothic Medium","Meiryo",sans-serif;
	background: #fff;
	overflow-wrap: break-word;
	padding:0;margin:0;
}
p{margin:0;padding:0;}
h1, h2, h3, h4, h5, h6 {font-weight: bold;margin:0;padding:0;}
.clearfix { clear: both;}
.s5 {margin: 0 0 5px;}
.s10 {margin: 0 0 10px;}
.s15 {margin: 0 0 15px;}
.s20 {margin: 0 0 20px;}
.s30 {margin: 0 0 30px;}
.s40 {margin: 0 0 40px;}
.s50 {margin: 0 0 50px;}
.s60 {margin: 0 0 60px;}
.s70 {margin: 0 0 70px;}
.s80 {margin: 0 0 80px;}
.s90 {margin: 0 0 90px;}
.s100 {margin: 0 0 100px;}
.h10 {height: 10px;}
.h20 {height: 20px;}
.h30 {height: 30px;}
.h40 {height: 40px;}
.h50 {height: 50px;}
.h100 {height: 100px;}
.red {color: crimson;}
.blue {color: mediumblue;}
.brown {color: brown;}
.green {color: green;}
.marker-pink { background: linear-gradient(transparent 60%, #f0f 90%);}
.marker-blue { background: linear-gradient(transparent 60%, #0ff 90%);}
.marker-yellow { background: linear-gradient(transparent 60%, #ff0 90%);}
.f80p {font-size: 80%;}
.f120p {font-size: 120%;}
.f150p {font-size: 150%;}
.f200p {font-size: 200%;}
.letter1 {letter-spacing: -1px;}
.letter2 {letter-spacing: -2px;}

a:link,a:visited {
	color: #333;
	text-decoration: none;
}
a:hover {
    text-decoration: underline;
	color: #00008b;
}
a img {
	border: none;
	max-width: 100%;
	height: auto;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

ul,ol{margin:0;padding:0;}
ul ul { list-style-type: circle; }
ul ul ul { list-style-type: square; }
.underline; { text-decoration: underline;}
/* 枠 */
.waku {
    width: auto;
    margin: 0 0 10px;
    padding: 7px;
    border: 2px solid #333;
    background: #fff;
    display: block;
}
.waku-red {
    width: auto;
    margin: 0 0 10px;
    padding: 7px;
    border: 2px solid #f00;
    background: #fff;
    display: block;
}
.waku-blue {
    width: auto;
    margin: 0 0 10px;
    padding: 7px;
    border: 2px solid #00f;
    background: #fff;
    display: block;
}
.waku-green {
    width: auto;
    margin: 0 0 10px;
    padding: 7px;
    border: 2px solid #0f0;
    background: #fff;
    display: block;
}

/* 引用タグ */
blockquote {
    width: auto;
    margin: 0 0 10px;
    padding: 25px 8px 10px 8px;
    border: 6px solid #999;
    background: #f9f9f9;
    font-size: 95%;
}
blockquote:before {
    content: "“";
    font-size: 80px;
    font-family: unset;
    color: #999;
    position: absolute;
    margin: -50px 0 0 -5px;
}
pre {
    width: fit-content;
    margin: 0 0 10px;
    padding: 10px;
    background: #f6f6f6;
    border: 2px dotted #999;
    font-size: 95%;
    overflow: auto;
}
/* テーブル */
table {
	border: 1px solid #333;
	margin: 7px 0 10px;
	border-collapse: collapse;
	box-shadow: 2px 2px 2px grey;
	width: 100%;
	}
thead tr th{
	color: #fff;
	background: #666;
	text-shadow: 1px 1px 0px #333, -1px -1px 0px #333, -1px 1px 0px #333, 1px -1px 0px #333, 1px 0px 0px #333, -1px 0px 0px #333, 0px 1px 0px #333, 0px -1px 0px #333;
	box-shadow: 0 1px 1px rgba(255,255,255,0.3) inset;
}
th {
	font-weight: bold;
	border: solid 1px #333;
	background:#f5f5f5;
	padding: 2px 4px;
	}
td {
    border: solid 1px #333;
	padding: 2px 4px;
}
caption {
    border-top: 4px #333 double;
    font-weight: bold;
}
.t-red thead th {background: crimson;}
.t-red th {background: peachpuff;}
.t-blue thead th {background: royalblue;}
.t-blue th {background: lavender;}
.t-yellow thead th {background: brown;}
.t-yellow th {background: antiquewhite;}
.t-green thead th {background: green;}
.t-green th {background: honeydew;}
/* ヘッダー */
#header {
	width: 100%;
	height: 50px;
	background-position: 0;
	background-repeat: repeat-x;
	top: 0;
	left: 0;
	z-index: 99;
    overflow: hidden;
}

.header-title a {
	color: #333;
    font-weight: bold;
    text-decoration: none;
    height: 50px;
    display: flex;
    align-items: center;
}
.moji-title {
	padding: 0 10px 0;
}
.header-title a img {
    width: auto;
	height: 100%;
	object-fit: cover;
}
.header-title a img:hover {
    opacity: 0.7;
	transition: 0.2s ease-in-out;
}
.logo {
    margin: 0;
	font-weight: bold;
    width: calc( 100% - 130px );
}
.header-title {
	width: 100%;
	z-index: 13;
}
#header.unfixed {
    height: 100px;
	width: calc(100% - 65px);
    margin: 0;
}
#header.unfixed .header-title a {
    height: 100px;
}
#header.unfixed .logo {
    width: fit-content;
    margin: auto;
}
#header.unfixed .btn-search {
    top: 50px;
    right: 0;
}
#header.unfixed .head-search input[type="text"] {
	padding: 2px 2px 2px 35px;
}
#header.unfixed .btn-menu.is-open {
    position: fixed;
}
#header.unfixed .head-search.is-open {
	top: 55px;
    right: 75px;
}
.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}
/* パンくずナビ */
.breadcrumb {
    font-size: 12px;
	width:100%;
    overflow-x: auto;
}
.breadcrumb ol {
    list-style: none;
    margin: 0 2px 5px;
    background:#fff;
    width: max-content;
	border-radius: 5px;
}
.breadcrumb li {
    display: inline-block;
	padding: 0 2px;
}
.breadcrumb a:hover {
    font-weight: bold;
}
/* メインコンテンツ */
#main{
    margin: 0 20px 10px 0;
	font-size: 0;
    color: #333;
}
/* 記事 */
.entry {
	background:#fff;
	margin:0 0 20px;
	border-bottom: 1px solid #ccc;
	overflow-wrap: break-word;
}
.entry p {
	padding: 8px 0;/* 記事の行間 */
}
.entry-body a img:hover {
	opacity: 0.7;
	transition: 0.2s ease-in-out;
}
.entry-body a:link,.entry-body a:visited {
    color: #0000cd;
}
.entry-body a:hover {
    color: #00008b;
	text-decoration: underline;
}
.entry-body {
    padding: 5px 10px 20px 8px;
}
.entry-body img {
    padding: 0;
    max-width: 100%;
    height: auto;
}
.float-left {
	width: max-content;
    max-width: 50%;
	margin: 5px 0 0 5px;
    text-align: right;
    float: right;
}
.float-right {
	width: max-content;
    max-width: 50%;
	margin: 5px 5px 0 0;
    text-align: left;
    float: left;
}
.entry textarea {
    width: 97%;
}
.entry-body ul,.entry-body ol {
    margin: 8px 0 8px 24px;
}
.category-title {
    color:#fff;/* カテゴリータイトル文字色 */
	background:#333;/* カテゴリータイトル背景色 */
	margin:0 0 15px;
}
.category-title h1 {  
    font-size: 17px;
    padding: 2px 5px 2px 5px;
	text-align:center;
	border:1px solid #ccc;
}
/* 見出し */
.entry h2 {
	margin: 10px 0 0;
    padding: 5px 5px 5px 10px;
	background:#333;
	color:#fff;
    line-height: 1.4;
    display: block;
    font-size: 22px;
    width: auto;
    text-shadow: 2px 2px 1px #666;
}
.entry h3 {
	margin: 10px 0 0;
    padding: 2px 5px 0 10px;
    border: solid 2px #333;
    background-color: #eee;
    font-size: 20px;
	text-shadow:1px 1px #fff,-1px 1px #fff,-1px -1px #fff,1px -1px #fff,1px 0px #fff,0px 1px #fff,-1px 0px #fff,0px -1px #fff;
}
.entry h4{
	margin: 10px 0 0;
    padding: 2px 5px 2px 15px;
    border-top: 3px double #333;
    border-bottom: 3px double #333;
    font-size: 18px;
}
.entry h5 {
	margin: 10px 0 0;
    padding: 5px 5px 0 10px;
	border-left: 7px solid #333;
	font-size:19px;
}
.entry h6 {
	margin: 10px 0 0;
    padding: 3px;
    font-size: 18px;
}
.entry h6:before {
    content: "● ";
    color: #333;
}
/* サイドバー&メイントップ */
#side-right {
    color: #333;
}
.front-top {
	font-size: 15px;
}
#side-right p,.front-top p {
    margin: 0;
    padding: 10px 0;
}
#side-right li {
    list-style: none;
    margin: 0 0 15px 0;
}
#sidebar-scroll {
	position: sticky;
	top: 50px;
}
.front-top li {
    list-style: none;
    margin: 0 0 15px 0;
}
#side-right li,.front-top li {
    margin: 0;
	padding: 0;
	border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
#side-right li a {
	font-size:14px;
	font-weight:bold;
	padding:7px 5px 7px 10px;
    display:block;
}
.front-top li a {
	font-size:16px;
	font-weight:bold;
    display:block;
	padding:10px;
	height: 24px;
}
.widget li a:hover {
    background-color: #00008b;
    text-decoration: none;
    color: #fff;
	transition: 0.2s;
}
#side-right li.recentcomments {
    text-align: right;
}
#side-right li.recentcomments a {
    text-align: left;
}
/* ウィジェット */
#ad-top {
    text-align: center;
    margin: 5px auto 10px;
}
#ad-article {
    text-align: center;
    margin: 10px auto 5px;
}
.widget {
    margin: 0 0 20px;
}
.widget ul,.widget ol,.textwidget {
    background: #fff;
}
.widget img {
    width: 100%;
    height: auto;
}
.widget_calendar,.components-placeholder,.widget_rss,.wp-block-latest-comments,.widget_tag_cloud {
    background: #fff;
}
.wp-social-link a:hover{
    color: #333;
}
figure {
    margin: 0;
}
.s-input[type="text"] {
	width: 70%;
}
.posts_count::before {
    content: " (";
}
.posts_count::after {
    content: ")";
}
.comment-author-link {
    display: inline-block;
}
/* ウィジェットタイトル */
#side-right h2,#side-right h3,.wp-block-search__label,.front-top h2 {
    padding: 5px 5px 5px 10px;
	font-size:15px;
    border: 1px solid #ccc;
    background: #333;
	color:#fff;
}
#side-right h2:nth-child(n+2),#side-right h3:nth-child(n+2) {
    margin: 20px 0 0;
}
#side-right ul li h2,#side-right ul li h3 {
    padding-bottom: 0;
}
#side-right ul,#side-right ol,.front-top ul,.front-top ol {
    border-top: 1px solid #ccc;
}
#side-right ul ul,.front-top ul ul {
    margin-bottom: 0;
}
#side-right li li,.front-top li li {
    line-height: 1.5;
}
#side-right ul.children,.front-top ul.children {
    margin-top: 0;
}
.post-date {
    display: block;
    font-size: 12px;
    text-align: right;
}
.widget_archive {
    background: #fff;
}
.gallery img:hover {
	opacity: 0.7;
}
.wp-block-search__label {
	font-weight: bold;
	display: block;
    margin-block-end: 5px;
}
.tagcloud,#calendar_wrap {
    background: #fff;
    margin: 0 0 20px;
    padding: 5px;
    border: 1px solid #ccc;
}
.custom-html-widget {
    background: none;
    margin: 0 auto 15px;
	text-align:center;
    border: none;
    font-size: 14px;
    padding: 0;
}
.entry .custom-html-widget {
    margin: 10px 0;
}
.screen-reader-text {
    background: #fff;
}
li:hover .screen-reader-text {
    background: #00008b;
}
/* 前後の記事 */
.prev_next{
    width:calc(100% - 2px);
    font-weight: bold;
    margin: 35px 0 20px;
    padding:0;
    display: flex;
    position: relative;
    border: 1px solid #ccc;
	background:#fff;
    line-height: 20px;
}
.prev_next .prev, .prev_next .next{
    width: 50%;
    padding: 20px 7px 5px;
	font-size: clamp(12px,2.5vw,16px);
	line-height:clamp(15px,2.5vw,24px);
}
.prev_next a:hover {
    background-color: #00008b;
    text-decoration: none;
    color: #fff;
	transition: 0.2s;
}
.prev_next .prev p, .prev_next .next p{
	line-height:1.5;
}
.prev_next .prev{
	border-right:#ccc 1px solid;
}
.prev_next .prev_title, .prev_next .next_title{
	top:-1em;
	font-size:15px;
	position:absolute;
	border: 1px #333 solid;
	background:#fff;
	text-align: center;
	padding:3px;
	color:#333;
}
.prev_next .next_title{
	right:5px;
}
.prev_next .prev img, .prev_next .next img{
    margin:0 auto;
}
.prev_next .prev img{
    float:left;
    margin-right:5px;
}
.prev_next .next img {
   float:right;
   margin-left: 5px;
}
.prev_next svg.icon.icon-home {
    display: inline-block;
    width: 80px;
    height: 80px;
	margin: 5px;
    stroke-width: 0;
    fill: #333;
    vertical-align: top;
}
/* 更新日 */
.entry .bottomdate p {
	text-align: right;
	font-size: 12px;
    padding: 5px;
}
/* コメント */
#comment {
    border: 1px solid #ccc;
	background:#fff;
}
#comment-jump {
	position: relative;
	top: -10px;
	display: block;
}
.comment-head {
	font-size:16px;
    padding: 2px 2px 2px 10px;
	background:darkred;
    color: #fff;
}
.commentform {
	margin: 0 0 0 15px;
    font-size: 13px;
}
.commentform label {
    display: block;
}
.commentform input {
    width: 50%;
}
.comment .nav-links {
    text-align: center;
    margin: 10px;
}
.comment .nav-links a {
    margin: 0 5px;
}
#author,#email,#url{
    margin: 0 0 10px;
}
.commentform span{
    color:#f00;
	font-size:11px;
}
.commentform #submit {
    padding: 7px;
    margin: 5px 0;
	box-shadow:2px 2px 2px #999;
	background: #fff;
	width: auto;
    border-radius: 5px;
}
.commentform #submit:hover {
	background: #eee;
    box-shadow: none;
}
#comment textarea {
	box-shadow:none;
    width: 97%;
    padding: 5px;
}
#comment　input {
	border:1px solid #333;
}
#respond {
    margin: 0 0 15px;
     padding: 2px 2px 2px 10px;
    color: #fff;
	font-size:16px;
    background: darkred;
    font-weight: bold;
}
#respond  a {
    color: #fff;
}
.comment-author {
	margin: 0;
	}
.comment-author vcard {
	margin: 0;
	}
cite.fn {
	font-size: 15px;
}
.says {
    display:none;
}
.comment-meta {
    text-align: right;

    padding: 0 10px 0 0;

	margin:-20px 0 0;

    font-size: 90%;
}
.reply {
	text-align: right;
	font-size: 14px;
	margin: 0;
	padding: 0 20px 0 0;
	}
.reply a:link,.reply a:visited {
	padding:5px;
	border:1px solid #ccc;
    border-radius: 5px;
	background:#fff;
    box-shadow: 2px 2px #ccc;
	}
.reply a:hover {
	background:#efefef;
	color:#333;
	box-shadow:none;
	}
.commentlist {
	font-size:clamp(13px,2.5vw,15px);
}
.commentlist p {
    padding: 8px 0;
}
.commentlist ol {
	margin: 0 10px 0 5px;
	}
.commentlist .children {
	list-style: none;
	margin: 0;
	}
.commentlist li{
    line-height: clamp(16px,2.8vw,22px);
	padding: 5px 0 0 10px;
	margin: 0 0 5px;
	border-bottom:1px solid #ccc;
    list-style: none;
}
.commentlist li li{
	background: azure;
	border: 1px solid #ccc;
	border-radius: 10px;
	margin-top: 5px;
}
.commentlist li li li,.commentlist li li li li li,.commentlist li li li li li li{
	background: #fff;
}
.commentlist li li li li,.commentlist li li li li li li{
	background: azure;
}
.commentlist ul{
	margin: 0;
	padding: 0;
}
.comment-body {
    margin: 0 0 10px;
}
/* 1カラム固定レイアウト */
.post-template-1column #main,page-template-1column {
	float: none;
	width:100%;
}
.post-template-1column #main,.page-template-1column #main {
	margin: 0 0 10px 0;
}
/* 2カラム固定レイアウト*/
.post-template-2column #main,.page-template-2column #main,
#main {
	width: 688px;
}
.post-template-2column #main,.page-template-2column #main {
    margin: 0 20px 10px 0;
}
/* ボックス */
#box {
	width: 1000px;
	display:flex;
    flex-wrap: wrap;
    margin: 60px auto 20px;
	position: sticky;
    text-align: left;
    color: #333;
}
/* 2カラム固定レイアウト幅 */
#side-right {
	width: 290px;
}
/* フッター */
#footer {
    width: 100%;
    margin: 0 auto;
	padding:10px 0 20px;
    color: #fff;
    background: #333;
    font-size: 12px;
    text-align: center;
}
#menu2 {
    color: #fff;
    columns: 3;
    list-style: disc;
    column-rule: solid 2px #fff;
    text-align: left;
    padding: 0 10px 10px;
}
#menu2 li {
    margin: 0 0 0 20px;
}
#prevload {
	font-size:10px;
	text-align:center;
    clear: both;
}
#nextload {
	font-size:16px;
	text-align:center;
	margin:100px 0 0;
    clear: both;
}
#nextload a {
	background: #fff;
    border: 1px solid #333;
    padding: 5px;
    border-radius: 15px;
}
#main .post.page_position {
    display: inline-block;
    font-size: 0;
    border: none;
    line-height: 0;
    margin: 0;
    padding: 0;
    height: 0;
    width: 0;
}
/*--------------------------------------------------------
ページトップ
--------------------------------------------------------*/
.page-top {
    position: fixed;
    right: 0;
    bottom: 10px;
    z-index: 99;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
}
.page-top a{
	display: block;
	padding: 10px 30px 5px;
	border: 2px solid #fff;
	border-right: 0;
	color: #fff;
	text-decoration: none;
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
}
.page-top a:hover{
    opacity: 0.7;
    color: #fff;
    background: #fff;
    transition: 0.2s
}
.page-top a:before{
    content: '';
    display:block;
    width: 12px;
    height: 12px;
    margin: 0 0 0 5px;
    border-right: 4px solid #fff;
    border-bottom: 4px solid #fff;
    transform: rotate(225deg);
}
/* 記事一覧 */
.post {
    background: #fff;
    border: 1px solid #ccc;
	overflow:hidden;
    margin: 0 0 15px;
}
.post h2 a:hover { 
	color:#fff;
	text-decoration: none;
    background: #00008b;
	transition: 0.2s;
}
.post h2 a {
    height: 110px;
    display: flex;
	align-items: center;
	font-size: clamp(14px,3.5vw,20px);
    line-height: clamp(16px,3.5vw,28px);
    padding: 0 3px 0 0;
	transition: 0.2s;
}

.post h2 a img {
    display: inline-block;
	height: 110px;
    width: auto;
    max-width: 230px;
	margin: 0;
    padding: 0 7px 0 0;
    vertical-align: top;
}
.excerpt {
    font-size: 13px;
    border-top: 1px solid #ccc;
	overflow-x: auto;
    margin: 0 2px 0 5px;
}
.excerpt p {
    width: max-content;
	margin: 0 2px 0 5px;
}
.categories-tags {
    overflow-x: auto;
    margin: 0 3px 0;
	border-top: 1px solid #ccc;
}
.categories-tags li {
    display: inline-block;
    list-style: none;
	font-size:clamp(12px,2.5vw,14px);
}
.categories-tags li a {
	margin: 0 0 0 7px;
    border-bottom: 2px solid #00008b;
    color: #00008b;
    background: #fff;
    padding: 0;
}
.categories-tags li {
}
.categories-tags li a:hover {
	background:#00008b;
	color:#fff;
	text-decoration: none;
	transition: 0.2s;
}
.categories-tags-in {
	width: max-content;
}
.categories-tags .icon-bubble {
    width: 14px;
    height: 14px;
    padding: 0 2px 0 0;
}
.index-comment,.index .post .bottom-date {
	margin: 0 0 0 7px;
}
/* 記事一覧画像大きめ */
.post.post-img  {
	width:49%;
	display:inline-block;
	vertical-align: top;
    margin: 0 0.5% 15px!important;
	font-size: 16px;
}
.post.post-img {
    border: none;
	height: max-content;
	background:none;
    overflow: hidden;
}
.post.post-img h2 a img {
    width: 500px;
	height: 260px;
    object-fit: cover;
    object-position: top;
    display: initial;
    max-width: 100%!important;
    padding: 0;
}
.post.post-img h2 a:hover img {
    opacity: 0.7;
}
.post.post-img h2{
	display: block;
    padding: 0;
    background: #fff;
    border: 1px solid #ccc;
}
.post.post-img h2 a {
    display: table;
	padding:0;
}
span.img-title {
	padding: 3px 5px 2px;
    display: flex;
    height: 55px;
    font-size: clamp(12px,2.8vw,17px);
    line-height: clamp(15px,3.0vw,18px);
	align-items: center;
	overflow: hidden;
}
.post.post-img .categories-tags{
    border-top: 0;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    background: #fff;
    margin: 0;
    padding: 0 5px;
	line-height: 22px;
}
/* 記事タイトル */
.single-title {
    margin: 0 0 15px;
    background: #fff;
	overflow:hidden;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.single-title h1,.single-title h2 {  
    font-size: 22px;
    padding: 4px 5px 5px 10px;
	line-height: 30px;
}
.single-title .categories-tags {
    margin: 0 3px 0 7px;
}

/* 動画 */
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	margin: 10px 0;
	height: 0;
	overflow: hidden;
}
.video-container iframe,.video-container object,.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* 無限スクロール */
#more-loading {
	margin:auto;
}
/*関連記事*/
#related {
	margin:0 0 20px;
	font-weight:bold;
	background:#fff;
    list-style: none;
}
.related-in {
    height: 50px;
	margin: 0;
	border:none;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
    overflow: hidden;
}

.related-in a img {
    height: 50px;
    width: 50px;
    padding: 0 7px 0 0;
}
.related-in a {
    height: 50px;
    display: flex;
	align-items: center;
    font-size: 16px;
    padding: 0 3px 0 0;
}
#related h3 {
	background: #333;/* 関連記事タイトル色 */
    margin: 0 0 5px;
    padding: 2px 2px 2px 10px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}
.related-in a:hover {
    background: #00008b;
    color: #fff;
	text-decoration: none;
	transition: 0.2s;
}
.related-img {
	width:49%;
	display:inline-block;
	vertical-align: top;
    margin: 0 0.5% 15px!important;
	font-size: 16px;
	height: max-content;
    overflow: hidden;
}
.related-img a img {
    width: 480px;
	height: 260px;
    object-fit: cover;
    object-position: top;
    max-width: 100%;
    padding: 0;
}
.related-img a {
    display: block;
    font-size: 18px;
	padding:0;
    line-height:0;
    border: 1px solid #ccc;
}
.related-img a:hover {
    background: #00008b;
    color: #fff;
	text-decoration: none;
	transition: 0.2s;
}
.related-img a:hover img {
    opacity: 0.7;
}
/*  編集用リンク */
.edit-link a:link, .edit-link a:visited {
    color: #fff;
}
/* SNSボタン */
.sns {
    margin: 0;
    font-size: 0;
}		
.sns a:hover {
    text-decoration:none;
    opacity: 0.8;
}
.sns a,.sns a:link,.sns a:visited {
    width: 33.333%;
    padding: 1px 0;
    margin: 0;
    font-size: 12px;
	font-weight:bold;
    display: inline-block;
    text-align: center;
	color:#fff;
}
.sns .icon {
    display: inline-block;
    width: 16px;
    height: 16px;
	padding: 0 2px 0 0;
    fill: #fff;
	stroke-width: 0;
	stroke: currentColor;
    vertical-align: top;
}
.sns .icon-bubble {
    padding: 2px 2px 0 0;
}
.sns .share-x {
    background: #000;
}
.sns .share-x svg {
	width: 14px;
    vertical-align: text-top;
    fill: #fff;
}
.sns .share-comment {
    background: darkred;
}
.sns .share-li {
    background: #008000;
}
/* 検索ボックス */
#searchform {
    font-size: 15px;
}
#searchform input.s-input {
    font-size: 15px;
	margin: 5px 5px 25px;
	padding: 0 40px 0 5px;
    height: 30px;
	border-color: #333;
    border-radius: 5px;
}
#searchform .s-submit {
    vertical-align: middle;
    margin: 0 0 0 -45px;
    padding: 5px;
	background:none;
	line-height:0;
	border:none;
}
.head-search .s-submit {
    vertical-align: top;
    margin:-35px 0 0 0;
    padding: 5px 3px 3px 5px;
    line-height: 0;
    background: none;
    border: none;
}
.head-search button.s-submit:hover {
    opacity: 0.7;
}
#searchform .icon-search,.head-search .icon-search {
	display: inline-block;
    width: 25px;
    height: 25px;
    stroke-width: 0;
    fill: #333;
}
#searchform .icon-search:hover {
    fill: #666;
}
#header .btn-search {
    position: absolute;
    top: 0;
    right: 65px;
    width: 65px;
    height: 50px;
    margin: auto;
    z-index: 15;
	background:#333;
}
#header .btn-search .icon-search {
	display: block;
    width: 30px;
    height: 30px;
    stroke-width: 0;
    padding: 10px 17.5px;
	transition: all 0.2s;
    fill: #fff;
}
#header .btn-search.is-open .icon-search {
    width: 0;
    height: 0;
    padding: 25px 30px;
}
#header .btn-search.is-open p {
	display: block;
	position: relative;
	height: 50px;
	animation: fade-in 0.5s;
}
#header .btn-search.is-open p::before, #header .btn-search.is-open p::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 50px;
	background: #fff;
	animation-duration: 0.3s;
}
#header .btn-search.is-open p::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
#header .btn-search.is-open p::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.head-search {
    display:none;
}
.head-search.is-open {
    width: 300px;
    display: block;
	position: absolute;
    top: 5px;
    right: 140px;
    z-index: 14;
    animation: fade-in-bottom 0.3s 0s 1 forwards;
}
.head-search input[type="text"] {
    width: calc( 100% - 40px );
    height: 30px;
    font-size: 15px;
    padding: 2px 10px 2px 35px;
    border: 2px solid #333;
}
.screen-reader-text {
    position: initial;
}
/* モーダルウィンドウ */
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
}
.modal__bg{
    background: rgba(0,0,0,0.5);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
	border-radius: 15px;
    left: 50%;
    padding: 15px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
	max-width: 680px;
    max-height: 75%;
    overflow-y: auto;
}
a.js-modal-close {
    float: right;
    background: #333;
    color: #fff!important;
    width: 36px;
	height: 32px;
    line-height: 32px;
    text-align: center;
    font-size: 20px;
    margin: -23px -15px 0 0;
}
a.js-modal-close:hover {
    text-decoration: none;
    background: #666;
}
/* 吹き出しのスタイル */
.chat {
	overflow: hidden;
	font-size: 90%;
    padding: 10px;
    margin: 0;
    line-height: 1.5;
    color: #333333;
}
.chat-img-left {
	margin: 0;
	float: left;
	margin-right: -70px;
	position: relative;
}
.chat-img-left img {
	width: 60px;
	height: 60px;
}
.chat-img-left .chat-img-description {
    position: absolute;
    overflow: hidden;
    top: 5px;
    left: 80px;
    font-size: 12px;
    white-space: nowrap;
}
.chat-text-left {
    float: left;
    position: relative;
    padding-top: 26px;
    margin-right: 80px;
    margin-left: 80px;
}
.chat-text-left p {
    border-radius: 0 15px 15px 15px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4), 0 10px 10px rgba(255, 255, 255, 0.5) inset, 0 -10px 10px rgba(0, 0, 0, 0.1) inset;
    border: 1px solid #666;
    padding: 5px 10px;
}
.chat-text-left p:before {
    position: absolute;
    top: 26px;
    left: -8px;
    z-index: 1;
    height: 0;
    width: 0;
    border-style: solid none none solid;
    border-width: 8px;
    border-color: #666 transparent;
    content: "";
}
.chat-text-left p:after {
    position: absolute;
    top: 27px;
    left: -6px;
    z-index: 3;
    height: 0;
    width: 0;
    border-style: solid none none solid;
    border-width: 8px;
    border-color: #F9F9F9 transparent;
    content: "";
}
.chat-img-right {
	margin: 0;
	float: right;
	margin-left: -70px;
	position: relative;
}
.chat-img-right img {
	width: 60px;
	height: 60px;
}
.chat-img-right .chat-img-description {
    position: absolute;
    overflow: hidden;
    top: 5px;
    right: 80px;
    font-size: 12px;
    white-space: nowrap;
}
.chat-text-right {
    float: right;
    position: relative;
    padding-top: 26px;
    margin-right: 80px;
    margin-left: 80px;
}
.chat-text-right p {
    background-color: #bbff77;
    border-radius: 15px 0 15px 15px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4), 0 10px 10px rgba(255, 255, 255, 0.5) inset, 0 -10px 10px rgba(0, 0, 0, 0.1) inset;
    border: 1px solid #666;
    padding: 5px 10px;
}
.chat-text-right p:before {
    position: absolute;
    top: 26px;
    right: -8px;
    z-index: 1;
    height: 0;
    width: 0;
    border-style: solid solid none none;
    border-width: 8px;
    border-color: #666 transparent;
    content: "";
}
.chat-text-right p:after {
	position: absolute;
	top: 27px;
	right: -6px;
    z-index: 3;
    height: 0;
    width: 0;
    border-style: solid solid none none;
    border-width: 8px;
    border-color: #ccff88 transparent;
    content: "";
}
/*目次*/
.toc{
	border:1px solid #D8D8D8;
	padding:10px;
	margin:5px 0 20px;
	display:inline-block;
	box-shadow: #ccc 3px 3px 3px;
    font-weight: bold;
}
.toc ul {
	margin: 0 0 0 15px;
	list-style: none;
}
span.toc__title {
    font-weight: bold;
}
.toc__toggle{display: none;}
.toc__switch::before{
 content:"開く";
 cursor:pointer;
 border: solid 1px #D8D8D8;
 padding:5px;
 font-size:0.8rem;
 margin-left:5px;
 border-radius: 5px;
}
.toc__toggle:checked + .toc__switch::before{content:"閉じる"}
.toc__switch + .toc__list{
 width:0;
 height:0;
 margin-top:0;
 margin-left:0px;
    display: none;
}
.toc__toggle:checked + .toc__switch + .toc__list {
    width: auto;
    height: auto;
    margin: 5px 0 0;
    transition: 0.2s;
    border-top: dotted 1px #d2d2d2;
	padding-top: 5px;
    display: block;
	
}
.toc__item:before {content: normal;}
a.toc__link:hover {
    border: 1px solid #ccc;
    background: #00008b;
}
li.toc__item li {
    display: inline-block;
}

li.toc__item a {
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 2px 3px;
    margin: 0 4px 3px 0;
}
.toc__number{
 display: inline-block;
 color:#7F7F7F;
 background:#F2F2F2;
 padding:3px 6px;
 font-size:1.2rem;
 margin-right: 5px;
}
label.toc__switch {
    position: relative;
    float: right;
}
.toc__toggle:checked {
    display: none;
}
.toc a:link,.toc a:visited {
    color: #333;
}
.toc a:hover {
	color:#fff;
	text-decoration: none;
    background: #00008b;
	transition: 0.2s;
}
/*タブ切り替え*/
.tab_switch {
	width: 100%;
}
/*タブのスタイル*/
.tab_menu {
	height: 50px;
	padding: 2px 5px;
	color: #333;
	border-bottom: 3px solid #333;
	background-color: #eee;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
}
.tab_menu.tab2 {
	width: calc(9%/2);
}
.tab_menu.tab3 {
	width: calc(9%/3);
}
.tab_menu.tab4 {
	width: calc(9%/4);
}
.tab_menu:hover {
	opacity: 0.7;
}
/*ラジオボタンを全て消す*/
input[name="tab_menu"] {
	display: none;
}
/*タブ切り替えの中身のスタイル*/
.tab_contents {
	display: none;
	padding: 10px 0 0;
	clear: both;
	overflow: hidden;
	transition: .5s opacity;
}
/*選択されているタブを表示*/
#tab_menu01:checked ~ #tab_content01,#tab_menu02:checked ~ #tab_content02,#tab_menu03:checked ~ #tab_content03 {
	display: block;
}
/*選択されているタブのスタイル*/
.tab_switch input:checked + .tab_menu {
	background-color: #00008b;
	color: #fff;
}
/* ページネーション */
.pagination-box {
	margin: 30px 0 0;
    text-align: center;
}
.pagination {
    font-size: 16px;
	margin: 0 0 20px;
}
.pagination a, .pagination span {
    padding: 0 2px;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 10px;
}
.page-numbers.current {
    font-weight: bold;
}
a.next.page-numbers, a.prev.page-numbers {
    border: 1px solid #333;
    font-size: 16px;
    border-radius: 15px;
    padding: 5px;
}
.nav-links a:hover {
    background: #00008b;
    color: #fff;
}
.link-page {
    border-top: 1px solid #ccc;
    text-align: center;
    font-weight: bold;
    font-size: 110%;
}
a.post-page-numbers {
    padding: 0 10px;
}
/* 上部メニュー */
.btn-menu {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 65px;
    height: 50px;
    z-index: 16;
	background: #333;
}
.btn-menu p {
    display: block;
    width: 35px;
    height: 35px;
}
.btn-menu span {
    position: absolute;
    top: 50%;
	left: 8px;
    display: block;
    width: 50px;
    height: 2px;
    line-height: 1;
    background: #fff;
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.btn-menu span:nth-child(1) {
    margin-top: -15px;
}
.btn-menu span:nth-child(2) {
    margin-top: -5px;
}
.btn-menu span:nth-child(3) {
    margin-top: 5px;
}
.btn-menu span:nth-child(3):after {
    content: "MENU";
    padding: 0 0 0 5px;
    line-height: normal;
    font-size: 13px;
	color:#fff;
}
.btn-menu.is-open span:nth-child(1) {
    margin-top: 0;
    transform: rotate(45deg);
}
.btn-menu.is-open span:nth-child(2) {
    transform: translateX(20px);
    opacity: 0;
}
.btn-menu.is-open span:nth-child(3) {
    margin-top: 0;
    transform: rotate(-45deg);
}
.btn-menu.is-open span:nth-child(3):after {
    margin-top: 0;
    transform: rotate(-45deg);
    content:none;
}
#global-nav {
    display: none;
    box-sizing: border-box;
    position: fixed;
    top: 0;
	right: 0;
    width: 500px;
    height: calc(100vh - 50px);
    padding: 15px 0 15px;
    font-size: 14px;
	font-weight: bold;
}
.is-open #global-nav{
	border-left: 1px solid #fff;
	text-align: left;
    overflow: auto;
    display: block;
    z-index: 15;
    animation: 0.3s fade-in;
}
@keyframes fade-in {
	0% {
		display: none;
		opacity: 0;
	-moz-opacity:0;
	-khtml-opacity:0;
	}
	1% {
		display: block;
		opacity: 0;
	-moz-opacity:0;
	-khtml-opacity:0;
	}
	100% {
		display: block;
		opacity: 1;
	-moz-opacity:1;
	-khtml-opacity:1;
	}
}
#global-nav #menu > li {
    margin: 0 10px;
}
.is-open #menu > li:nth-child(1) {
    animation: fade-in-bottom 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.05s 1 forwards;
}
.is-open #menu > li:nth-child(2) {
    animation: fade-in-bottom 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s 1 forwards;
}
.is-open #menu > li:nth-child(3) {
    animation: fade-in-bottom 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.15s 1 forwards;
}
.is-open #menu > li:nth-child(4) {
    animation: fade-in-bottom 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s 1 forwards;
}
.is-open #menu > li:nth-child(5) {
    animation: fade-in-item 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.25s 1 forwards;
}
@keyframes fade-in-bottom {
	0% {
		opacity: 0.1;
		margin-top: 100px;
	}
	100% {
		opacity: 1;
		margin-top: 0;
	}
}
#menu span, #menu a{
    display: block;
    padding: 10px 0;
    color: #fff;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
#menu li a:hover,#menu li span:hover {
	opacity: 0.7;
	text-decoration:none;
    background: #fff;
    color: #000;
}
#menu span:after {
    content: "＋";
    position: absolute;
    right: 0;
    font-size: 14px;
}
#menu a:after {
    position: absolute;
    right: 0;
    font-size: 14px;
}
#menu ul li a, #menu ul li span {
    padding-left: 10px;
}
#menu ul li span {
    display: initial;
}
#menu .comment_author:after, #menu .comment_date:after {
    content: "";
}
#menu .comment_author {
    padding: 0 0 0 20px;
    border: 0;
}
#menu .comment_author a {
    border: 0;
    padding-bottom: 10px;
}
#menu .comment_date {
    padding-top: 0;
	border-bottom:none;
}

article, aside, figure, footer, header, hgroup, nav, section {
	display: block;
}
body .frm {
	background: #fff;
	clear: both;
	margin: 0;
	padding: 1px 0 0;
}
img.head-close {
	display: inline;
	position: relative;
	top: 6px;
	left: 5px;
}
/* スクロールバー */
::-webkit-scrollbar{
	height: 5px;
	width: 8px;
}
::-webkit-scrollbar-track{
	background: #fff;
	border: none;
	border-radius: 5px;
}
::-webkit-scrollbar-thumb{
	background: #ccc;
	border-radius: 5px;
	box-shadow: none;
}
/* 管理画面のみ */
.customize-support #header.unfixed .btn-search,.customize-support #header.unfixed .head-search,.customize-support #header.unfixed .btn-menu{
    margin-top: 32px!important;
}
/* レスポンシブ用 */
@media screen and (max-width: 780px) {
#box {
	width: 100%;
	display: block;
}
#main {
	width: 100%;
    margin: 0;
}
#header.unfixed {
	width: calc(100% - 50px);
}
#header .btn-search {
    right: 50px;
    width: 50px;
}
#header .btn-search .icon-search {
    width: 28px;
    padding: 11px;
}
#header .btn-search.is-open .icon-search {
    padding: 25px;
}
#header .btn-search.is-open p::before, #header .btn-search.is-open p::after {
	height: 35px;
}
.head-search.is-open {
    right: 115px;
}
.btn-menu {
    width: 50px;
}
.btn-menu span {
    width: 35px;
}
.btn-menu span:nth-child(3):after {
    padding: 0;
    font-size: 10px!important;
}
.modal__content{
    width: 80%;
}
.logo {
    width: calc( 100% - 100px );
}
.single-title h1,.single-title h2 {
    font-size: 18px;
    padding: 2px 4px 4px 6px;
	line-height: 20px;
}
#side-right {
    display: flex;
    flex-direction: column;
}
.prev_next .prev, .prev_next .next {
    padding: 10px 5px 3px;
}
/* 管理画面のみ */
.customize-support #header.unfixed .btn-search,.customize-support #header.unfixed .head-search,.customize-support #header.unfixed .btn-menu{
    margin-top: 46px!important;
}
}
@media screen and (max-width: 680px) {
.index .post.post-img h2 a img,.related-img a img {
    height: 220px;
}
span.img-title {
	letter-spacing:-1px;
}
}
@media screen and (max-width: 580px) {
.mobile-off {
	display: none;
}
#global-nav {
    width: 90%;
}
.index .post.post-img h2 a img,.related-img a img {
    height: 190px;
}
.post.post-img .categories-tags li{
	letter-spacing:-1px;
}
.index .post h2 a img{
    max-width: 40%;
}
.related-in a{
	font-size: 15px;
	line-height: 15px;
	letter-spacing: -1px;
}
.entry-body ul,.entry-body ol {
    margin: 0 0 0 20px;
}
.prev_next .prev img, .prev_next .next img {
    width: 40%;
}
.page-top a{
	padding: 10px 15px;
}
}
@media screen and (max-width: 480px) {
.moji-title {
    padding: 0 7px 0;
}
.head-search.is-open {
	width: 190px;
}
.index .post h2 a{
    letter-spacing: -1px;
}
.categories-tags li{
    letter-spacing: -1px;
}
.index .post h2 a img{
    height: 100px;
    max-width: 45%;
}
.index .post h2 a {
    height: 100px;
}
.index .post.post-img h2 a img,.related-img a img {
    height: 160px;
}
span.img-title {
    padding: 2px 3px 2px;
    height: 55px;
}
.sns a {
    font-size: 11px;
}
.entry p {
    padding: 7px 0;
}
.modal__content{
    padding: 10px 15px 10px;
    width: 90%;
}
a.js-modal-close {
    margin: -17px -15px 0 0;
}
.toc {
    width: 94%;
}
.pagination {
    font-size: 14px;
}
.pagination a, .pagination span {
    padding: 0 1px;
}
.prev_next .prev img, .prev_next .next img {
    width: 35%;
}
.prev_next svg.icon.icon-home {
    width: 50px;
    height: 50px;
}
.entry h2 {
    padding: 4px 4px 4px 8px;
    font-size: 18px;
}
.entry h3 {
    padding: 4px 4px 0 8px;
    font-size: 17px;
}
.entry h4 {
    padding: 4px 4px 0 8px;
    font-size: 17px;
}
}
@media screen and (max-width: 380px) {
.index .post h2 a {
}
.index .post.post-img h2 a img,.related-img a img {
    height: 130px;
}
.sns a {
    font-size: 10px;
}
}
/* IEのみ */
@media all and (-ms-high-contrast: none) {
}
