@charset "UTF-8";
/*共通css
----------------------------------------------------------------------------------------------------*/
body {overflow-wrap: break-word;word-break: normal;
  font-family: futura-pt, heisei-maru-gothic-std, sans-serif;
  font-family: futura-pt, "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
  flex-flow: column;
  min-height: 100vh;
  overflow-x: hidden;color: #3e3e3e;letter-spacing: 0.15em;line-height: 1.75;
  transition: opacity 0.2s;
}
/* =========================================
   Webフォントの読み込み中
   字形が途中で切り替わって見えないよう、フォントが揃うまで透明にする。
   クラスは inc/head.php の JS が付け外しする（最大0.8秒で必ず外す。JS が動かないときは付かない）。
   以前の body { opacity: 0 } は JS が失敗すると真っ白のままになったため、この形にした。
   ========================================= */
.is-font-loading body {opacity: 0;}

p {line-height: 2.3;font-size: 15px;}
main {overflow-x: hidden;margin-top:auto;}
.sp {display: none;}
.pc {display: block;}
.bg {background-size: cover;background-repeat: no-repeat;background-position: center center;width: 100%;}
.object-fit-img {object-fit: cover;object-position: center;font-family: "object-fit: cover; object-position: center;";}
a {color: #5C5C58;}
a:hover {color: #4865b2;border-bottom: 1px solid;}
img {display: block;width: 100%;height: auto;}
/*トップページ戻るボタン*/
#pageTop {position: fixed;bottom: 70px;right: 20px;}
#pageTop a {display: block;z-index: 999;padding: 0px;border-radius: 30px;width: 45px;height: 45px;background-color: #830000;color: #fff;font-weight: bold;text-decoration: none;text-align: center;}
#pageTop i {padding: 13px 0 0 2px;font-size: 15px;color: #fff;display: block;}
#pageTop a:hover {text-decoration: none;opacity: 0.7;}
h1 {font-size: 20px;font-weight: bold;}
h2 {font-size: 15px;font-weight: bold;}
h3 {font-size: 16px;font-weight: bold;}
h4 {font-size: 16px;font-weight: bold;}
h5 {font-size: 16px;font-weight: bold;}
.cat a {color: #4773ba;font-size: 11px;padding: 0 1% 0 0;font-weight: bold;}
#single .cat {display: inline;}
/* パンクズリスト */
.breadcrumb {display: flex;align-items: center;width: 90%;max-width: 1000px;margin: 0 auto;}
.bc-sep {margin: 0 1rem;}
.breadcrumb a {color: #4865b2;font-size: 11px;}
/* 目次 */
.index {margin: 0 0 30px 0;border: 1px solid #d2d2d2;padding: 10px;border-radius: 10px;background-color: #fcfcfc;}
.index .ttl {text-align: center;font-size: 18px;}
.index ol,
.index ul {border: none !important;padding: 0 0 0 30px !important;background-color: #fcfcfc !important;margin-bottom: 1% !important;}
.index a {color: #4e4e4e !important;font-size: 13px;}

/* PV数表示 */
.post-views{display: inline; position: fixed; bottom: 170px; right:4%; z-index:101;}
.top_view{display: inline; position: fixed; bottom: 170px; right:4%; z-index:101;}


#sitemap li .category{display: block; font-weight: bold; font-size: 16px;background-color: #f7f7f7; padding: 4px 0 2px 10px; margin: 20px 0 15px 0;}
#sitemap li .category:hover{border: none;}
#sitemap li ul li{padding-left: 28px; margin: 10px 0; position: relative;}
#sitemap li ul li::before{content:'・'; position: absolute; left:10px;}

/* 光るボタン ---------------------- */
.btn-shine {text-align: center;margin: 1rem;}
.btn-shine a {display: inline-block;padding: 1.2em 6em;background:#ffba11;color: #fff;text-decoration: none;border-radius: 100vh;box-shadow: 0px 3px 11px rgb(175 175 175);transition: 0.3s; color: #fff!important; position: relative;overflow: hidden;} 
.btn-shine a:hover {opacity: 1;box-shadow: none;transform: scale(0.99, 0.99) translateY(1px);}
.btn-shine a:after {content: "";position: absolute;top: -50%;left: -50%;width: 10%;height: 150%;opacity: 0.5;filter: blur(1px);background: rgba(255, 255, 255, 0.5); transform: rotate(45deg);animation: reflect 3s ease-in-out infinite;}
/*** 光のアニメーション ***/
@keyframes reflect {
  0%,
  75% {transform: rotate(45deg) scale(0);opacity: 1;}
  100% {transform: rotate(45deg) scale(100);opacity: 0;}
}

/* SNSシェア機能 */
.fa-hatena:before {font-weight: bold;content: 'B!';}
.share p{margin: 0!important;}
.share {margin-top: 40px;margin-bottom: 40px;margin-right: 3em;}
.share ul {margin: 0;padding: 0!important;list-style: none!important; display: flex; justify-content: space-between;}
.share ul:after {display: block;clear: both;content: '';}
.share li {width: 24%;margin: 0!important;}
.share li a {font-size: 14px;display: block;padding: 10px;text-align: center;text-decoration: none;color: #fff!important;}
.share li a:hover {opacity: .8;}
.share li a:visited {color: #fff;}
.tweet a {background-color: #55acee;}
.facebooklink a {background-color: #315096;}
.line a {background-color: #00b900;}
.hatena a {background-color: #008fde;}
@media screen and (max-width:768px){
  .share li {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;padding: 3px;}
  .share li i {font-size: 1.3em;padding-top: 3px;}
  .facebooklink i, .hatena i {display: none;}
}
/*header
----------------------------------------------------------------------------------------------------*/
header {background-color: #fff;width: 100%;margin: 0 auto;padding: 0;position: relative;z-index: 100;letter-spacing: 0.1em;}
header .logo {width: 90%;max-width: 1000px;margin: 0 auto;padding: 10px 0;}
header .logo a {color: #000;}
header .logo a:hover {color: #606060;border: none;}
header .logo h1,
header .logo p {margin: 0 auto;color: #000;line-height: 1.6;font-size: 20px;font-weight: bold;}
header .logo h1 a,
header .logo p a {display: flex;align-items: center;}
header .logo h1 a small,
header .logo p a small {font-size: 14px;padding: 0 0 0 10px;}
header .logo .writer {color: #939090;font-size: 12px;font-weight: normal;letter-spacing: 0.1em;line-height: 1.6;}
header .container {width: 90%;margin: 0 auto;}
header .nav {margin: 0 auto;display: flex;max-width: 1000px;}
header .pcnav {display: block;}
header .menu {position: relative;display: flex;flex-wrap: wrap;}
header .menu .menu__single {cursor: pointer;}
header .menu .menu__single i {font-size: 14px;padding: 0 0 0 5px;}
header .menu .menu__single a {font-size: 15px;color: #333;padding: 10px 40px 10px 0;display: block;}
header .menu .menu__single a:hover {border: none;opacity: 0.5;}
header .menu .menu__single:hover {-webkit-transition: all 0.5s;transition: all 0.5s;}
header .menu .menu__single .sub-menu {visibility: hidden;opacity: 0;z-index: 1; }
header .menu .menu__single .sub-menu li .active{display: block;}
header .menu .menu__single .sub-menu li a {font-size: 14px;padding: 10px 5px;color: #333;border-bottom: 1px dotted #bcbcbc;}


/* floatクリア */
header .menu:before,
header .menu:after {content: " ";display: table;}
header .menu:after {clear: both;}
header .menu > li.menu__single {position: relative;}
header li.menu__single ul.sub-menu {position: absolute;top: 40px;width: 150%;-webkit-transition: all 0.2s ease;transition: all 0.2s ease;}
header li.menu__single:hover ul.sub-menu {top: 100%;visibility: visible;opacity: 1;background-color: #f7f7f7;}
/* ハンバーガーめにゅー */
.humberger {position: fixed;bottom: 60px;right: 17px;width: 62px;height: 62px;background-color: #04384c;text-align: center;padding-top: 14px;z-index: 100;border-radius: 50%;}
.humberger p {line-height: 1;color: #fff;font-size: 10px;}
.menu-trigger,
.menu-trigger span {display: inline-block;transition: all 0.4s;box-sizing: border-box;}
.menu-trigger {position: relative;width: 30px;height: 20px;}
.menu-trigger span {position: absolute;left: 0;width: 100%;height: 2px;background-color: #fff;border-radius: 4px;}
.menu-trigger span:nth-of-type(1) {top: 0;}
.menu-trigger span:nth-of-type(2) {top: 9px;}
.menu-trigger span:nth-of-type(3) {bottom: 0;}
#menu02.active span:nth-of-type(1) {-webkit-transform: translateY(10px) rotate(-315deg);transform: translateY(10px) rotate(-315deg);}
#menu02.active span:nth-of-type(2) {opacity: 0;}
#menu02.active span:nth-of-type(3) {-webkit-transform: translateY(-9px) rotate(315deg);transform: translateY(-9px) rotate(315deg);}
@media screen and (max-width: 768px) {
  header {backdrop-filter: none;z-index: 100;}
  header .logo {background-color: #fff;width: 100%;}
  header .logo a {color: #fff;justify-content: center;color: #333;}
  header .logo a:hover {opacity: 0.5;}
  header .logo .writer {text-align: center;line-height: 4;}
  header .container {position: fixed;top: 0;left: -58%;-webkit-backdrop-filter: blur(30px);backdrop-filter: blur(30px);width: 58%;height: 100vh;max-width: inherit;margin: 0 auto 0 0;transition: 0.2s ease-in-out;}
  header .container .inner {height: 100vh;margin: 0;padding: 0 0 0 10px;}
  header .container .inner .nav {position: absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%);height: 100vh;width: 90%; overflow-y: scroll;}
  header .inner .pcnav {display: block;}
  header .container .inner .nav .menu .home {display: flex;justify-content: center;align-items: center;}
  header .container .inner .nav .menu {display: block;width: 100%;height: 100%; position: absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%);}
  header .container .inner .nav .menu li a {padding:15px 0;display: block;text-align: center;font-weight: bold;}
  header .logo_sp {width: 20%;margin: 10px 0 0 8px;position: fixed;top: 2px;}
  header .contact_sp {position: fixed;top: 10px;right: 87px;width: 62px;height: 62px;background-color: #c3372b;text-align: center;padding-top: 18px;z-index: 100;border-radius: 50%;}
  header .contact_sp img {width: 40%;margin: 0 auto;}
  header .contact_sp p {color: #fff;font-size: 10px;}
  header .menu .menu__single .sub-menu {width: 70%;margin: 0 0 0 auto; transition: all .2s ease; z-index:2;}
  header .menu .menu__single .sub-menu li a {font-size: 14px !important;}
  header li.menu__single:hover ul.sub-menu {top:0%; background-color:inherit; position: inherit;}
  .openNav .container {left: 0;}
}

/* 迷惑メール防止 */
.grecaptcha-badge {visibility: hidden;}
/* ページナビゲーション */
.pager {padding-top: 40px;width: 100%;}
.pager .pagination {text-align: center;line-height: 0;}
.pager .pagination li {display: inline;margin: 0 2px;padding: 0;display: inline-block;width: 40px;height: 40px;overflow: hidden;text-align: center;position: relative;border-radius: 2px;}
.pager .pagination li a {vertical-align: middle;position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-align: center;display: table;text-decoration: none;-webkit-transition: all 0.3s ease;-moz-transition: all 0.3s ease;-o-transition: all 0.3s ease;transition: al0.3s ease;}
.pager .pagination li a span {display: table-cell;vertical-align: middle;transform: none;}
.pager .pagination li a:hover {color: #fff;background: #830000;}
.pager .pagination li .active {color: #fff;background: #000;}

/* 404ページ */
.error404 .anime {width: 50%;margin: 0 auto auto;margin-bottom: 20px;}
.error404 .home {text-align: center;}
.error404 p a {text-align: center;display: inline-block;margin: 20px 0;color: #4773ba;}


aside p {font-size: 14px;}
aside a {color: #6a6a6a;letter-spacing: 0.1em;}
aside .ttl {margin: 2% 0;text-align: center; font-weight: bold;}
aside .ttl::after {content: " ";border: solid 1px #830000;display: block;width: 55px;margin: 15px auto;}
aside ul{display: flex; flex-wrap: wrap;}
aside li {list-style: none;font-size: 12px;border: 1px solid #cecece; margin: 3px; padding: 0 6px;}
aside .card .txt {padding: 0 0 0 3%;}
aside .search {padding: 8% 3%;}
aside .search form {position: relative;width: 60%;margin: 0 auto;}
aside .search form input {height: 40px;background: #f5f5f5;border: 1px solid #ebebeb;width: 100%;}
aside .search form span {position: absolute;right: 5%;top: 50%;transform: translateY(-50%);-webkit-transform: translateY(-50%);}
aside .search form .button {background-color: #04384c;color: #fff;border-radius: var(--swl-radius--4, 0);height: 100%;overflow: hidden;position: absolute;right: 0;top: 0;width: 40px;}
aside .category {padding: 3%;}
aside .sideTag {padding: 3%;}
aside .sideTag ul li i{font-size: 12px; color:#cecece;;}
aside .sideTag ul li a{padding: 0 0 0 3px;}
aside .archive {background-color: #fff;margin-bottom: 8%;padding: 3%;}

/* footer
----------------------------------------------------------------------------------------------------*/
footer {text-align: center;background-color: #fff;margin-top: auto;}
footer .menu {padding-top: 50px;width: 90%;max-width: 1000px;margin: 0 auto;display: flex;justify-content: space-between;overflow: hidden;}
footer .menu .txt {width: 30%;text-align: left;}
footer .menu .txt h2 {color: #333;font-size: 22px;}
footer h2::after {content: " ";border: solid 1px #830000;display: block;width: 55px;margin: 15px 0;}
footer .menu .txt iframe {width: 100% !important;}
footer .menu .txt p {color: #333;font-size: 12px;}
footer .menu .port p {border-bottom: 1px dotted #abb8c3;padding:5px 0;}
footer .menu .txt a {color: #4865b2; line-height: 2.0;}
footer .menu .txt .icon {display: flex;align-items: center;}
footer .menu .txt .icon .twitter {width: 12%;min-width: 20px;max-width: 30px;padding-right: 10px;}
footer .menu .txt .icon a {font-size: 15px;}
footer .copyright {background-color: #222;color: #fff;}
footer .copyright a {color: #fff;}
footer .privacy {font-size: 11px;letter-spacing: normal;}
footer .privacy a {color: #fff;}



/*top
----------------------------------------------------------------------------------------------------*/
.top {margin: 140px auto 0% auto;}
.top .container {width: 90%;max-width: 1200px;margin: 0 auto;}
.top .container .cards {display: flex;justify-content: space-between;}
.top .container .cards .card {width: 30%;}
.top .container .cards .card h2 {font-size: 16px;}
.articles .h4 {border-bottom: 1px solid;width: 100%;margin-bottom: 25px;font-weight: bold;font-size: 15px;}

/* topおすすめ記事 */
.articles .topcards .topcard {width: 100%;margin-bottom: 10px;}
.articles .topcards .topcard .ttl h3 {font-size: 13px;margin-top: 15px;padding-bottom: 10px;font-weight: bold;}
.articles .topcards .topcard .ttl p {padding: 0; font-size: 12px;}
/* 画像はCSSの background-image をやめ、mdl/topcards.php の <img> に移行した。
   （背景画像はGoogleに画像として認識されず、alt も付けられないため） */
/*news
----------------------------------------------------------------------------------------------------*/
.news .container {max-width: 800px;width: 95%;margin: 20px auto 0 auto;}
.articles {height: fit-content;margin: 0 auto 50px auto;}
.articles .ttl {padding: 0 0 0 3%;}
.articles .ttl dl {margin: 0;}
.articles .ttl dt {font-size: 10px;font-weight: bold;display: inline-block;}
.articles .ttl dd {margin: 0;}
.articles .ttl p {font-size: 10px;display: inline;line-height: 1.8;color: #4a4a4a;padding-left: 10px;}
.articles .ttl .discription {font-size: 12px;line-height: 1.75;letter-spacing: 0.2em;padding: 0;color: #4a4a4a;}
.articles .ttl .discription a {color: #4a4a4a;}
/* PV数は管理者だけに見えるバッジ。本文と混ざらないよう囲みを付ける */
.articles .ttl .post-views {position: static;display: inline-block;margin-left: 10px;padding: 1px 8px;border: solid 1px #d8d8d8;border-radius: 3px;background: #f7f7f7;color: #777;font-size: 10px;letter-spacing: 0.05em;vertical-align: middle;}
.articles article {margin:40px 0;display: flex;transition: 0.3s;}
.articles .up:hover {box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);transform: translateY(-2px);}
.articles .imgtxt {width: 23.5%;}
.articles .imgtxt .img {padding-top: 60%;}
.articles .ttl {flex: 1;}
.imgtxt .txt {padding: 3%;}

/*-------news-single-------*/
/* #single{ margin-top: 20px;} */
#single .news .container {width: 95%;max-width: 700px;margin: 30px auto 0 auto;}
#single .news .container .articles {display: block;}
#single .news .container .articles article {width: 100%;display: block; margin-top: 0;}
#single .news .container .articles article .ttl {padding: 0;}
#single .news .container .articles article .ttl .date {display: inline;font-size: 13px;font-weight: bold;padding: 0;}
#single .news .container .imgtxt .img {padding-top: 66%;margin: 40px auto 10px auto;}
#single .news .container .imgtxt {width: 100%;height: fit-content;}
#single .news .container .imgtxt h1 {font-size: 20px;margin-bottom: 5%;}
#single .news .container .imgtxt h2 {font-size: 20px;margin: 5% 0 3% 0;padding: 2%;background-color: #f7f7f7;color: #333;border-left: 9px solid #830000;}
/* 目次要素とのスペース */
#single .news .container .imgtxt h2:first-of-type {margin-top: 60px;}
#single .news .container .imgtxt h3 {text-align: left;border-bottom: 1px solid #4a4a4a;width: 100%;padding: 0 0 5px 0;margin: 40px 0 15px;font-size: 18px;}
#single .news .container .imgtxt h4 {font-size: 16px;line-height: 2;padding: 5px 1%;font-weight: bold;margin: 0;text-align: left;background-color: #f7f7f7;}
#single .news .container .imgtxt h4:before {content: "✓";}
#single .news .container .imgtxt h4::after {content: none;border: inherit;}
#single .news .container .imgtxt ul {list-style: inherit;padding-left: 7%;margin:15px 0;}
#single .news .container .imgtxt ol {list-style: decimal;padding-left: 7%;margin:15px 0;}
#single .news .container .imgtxt li {font-size: 14px;line-height: 1.8;margin-bottom:5px;}
#single .news .container .imgtxt img {margin: 20px auto 0px auto;border-radius: 1.5%;border: 2px solid #e9e9e9;}
#single .news .container .imgtxt img.portrait {width: 50%;margin: 0;}
#single .news .container .imgtxt img.landscape {width: 100%;}

#single .news .container .imgtxt p {margin-bottom: 30px;line-height: 2;}
#single .news .container .imgtxt blockquote {background-color: #f5f5f5;margin: 0;padding: 20px;}
#single .news .container .imgtxt blockquote p {margin-bottom: 20px;}
#single .news .container .imgtxt .credit p {font-size: 13px;text-align: center;color: #939090;letter-spacing: 0.05em;margin: 0 !important;}
#single .news .container .imgtxt a {color: cornflowerblue;}
#single .news .container .imgtxt .back-top {text-align: center;}
#single .news .container .imgtxt ul,
#single .news .imgtxt ol {padding-right: 10px;}
#single .news .container .imgtxt figure {width: 100%;}
#single .news .container .imgtxt figure ul {border: none;background-color: #fff;padding: 0;}
#single .news .container .imgtxt table {width: 100%;border-collapse: separate;border-spacing: 0;}
#single .news .container .imgtxt table th:first-child {border-radius: 5px 0 0 0;}
#single .news .container .imgtxt table th:last-child {border-radius: 0 5px 0 0;border-right: 1px solid #3c6690;}
#single .news .container .imgtxt table th {text-align: center;color: white;background: linear-gradient(#829ebc, #225588);border-left: 1px solid #3c6690;border-top: 1px solid #3c6690;border-bottom: 1px solid #3c6690;box-shadow: 0px 1px 1px rgba(255, 255, 255, 0.3) inset;width: 25%;padding: 10px 0;}
#single .news .container table tr td {border-top: 1px solid #333;border-left: 1px solid #333;border-right: none;border-bottom: none;}
#single .news .container table tr td:last-child {border-right: 1px solid #333;}
#single .news .container table tr:last-child td {border-bottom: 1px solid #333;}

.wp-block-image figcaption {text-align: center;color: #939090;}

table {width: 100%;border-spacing: 0;}
table th {border-bottom: solid 2px #fb5144;padding: 10px 0;}
table td {border-bottom: solid 2px #ddd;padding: 10px 0;}
/* classの付与 */
#single .news .imgtxt .pre {border: none;font-size: 16px;padding: 20px 20px 20px 35px;background-color: #fafafa;outline: 1px solid #f0f0f0;border-color: #f0f0f0;margin: 15px 0 60px 0;}
#single .news .imgtxt .pre p {padding: 15px 0;margin-bottom: 0;}

/* 吹き出し */
.i {position: relative;display: inline-block;margin: 1.5em 0 3em 100px;padding: 7px 10px;min-width: 120px;max-width: 100%;color: #555;font-size: 16px;background: #fff;border: solid 3px #bababa;box-sizing: border-box;border-radius: 10px;}
.i:before {content: "";position: absolute;top: 50%;left: -24px;margin-top: -12px;border: 12px solid transparent;border-right: 12px solid #fff;z-index: 2;}
.i:after {content: "";position: absolute;top: 50%;left: -30px;margin-top: -14px;border: 14px solid transparent;border-right: 14px solid #bababa;z-index: 1;}
.i p {margin: 0 !important;position: relative;}
.i p:before {content: "";background-image: url(../img/writer_icon.webp);display: block;width: 80px;height: 80px;background-repeat: no-repeat;background-size: cover;position: absolute;top: 50%;left: -120px;transform: translateY(-50%);-webkit-transform: translateY(-50%);border-radius: 50%;border: 1px solid #ebe7e7;}
.i p:after {content: "Aji";display: block;position: absolute;top: 50%;left: -120px;transform: translateY(-50%);-webkit-transform: translateY(-50%);font-size: 13px;width: 80px;text-align: center;margin-top: 55px;}

 .news .point {position: relative;border-top: solid 2px #80c8d1;border-bottom: solid 2px #80c8d1;background: #f4f4f4;padding: 20px 10px 20px 20px;margin: 50px 0;}
 .news .point:after {position: absolute;font-family: "Font Awesome 5 Free",'Quicksand','Avenir','Arial',sans-serif;font-weight: 900;content: '\f0a7\ POINT';background: #80c8d1;color: #fff;left: 0px;bottom: 100%;border-radius: 5px 5px 0 0;padding: 5px 7px 3px;font-size: 0.7em;line-height: 1;letter-spacing: 0.05em;}
 .news ol.point{padding: 20px 10px 20px 40px;}
 .news .point p {padding: 15px 0;margin-bottom: 0;}



/* タグ */
.tags {font-weight: bold;}
/* ブログ村リンク */
#single .blogmuralink .links {display: flex;}
#single .blogmuralink .links a {display: block;width: fit-content;margin-right: 20px;}
#single .blogmuralink .links a img {margin: 5px 0 10px 0 !important;width: 100% !important;}
#single .blogmuralink p {font-size: 12px;}

/* アフィリエイトリンク */
#single .news .imgtxt .easyLink-box {margin-bottom: 60px;}
#single .news .imgtxt .easyLink-box p {margin: 0;line-height: normal;}
#single .news .imgtxt .easyLink-box .easyLink-img-box span img {margin: 0;width: fit-content;height: auto;}
#single .news .imgtxt .easyLink-box .easyLink-info .easyLink-info-name a {color: #333;margin: 0 0 20px 0;padding: 0 0 10px 0;display: block;}
#single .news .imgtxt .easyLink-box .easyLink-info-btn a {color: #fff;}
@media screen and (max-width: 480px) {
  div.easyLink-box.easyLink-size-s,div.easyLink-box.easyLink-size-xs {max-width: 80% !important ;}
  #single .news .imgtxt .easyLink-box .easyLink-info .easyLink-info-name a {margin: 20px 0;  padding: 10px 0; }
}


#single .post-connection {text-align: left;border-bottom: 1px solid #4a4a4a;width: 100%;padding: 0 0 5px 0;margin: 40px 0 20px 0 !important;font-size: 16px;}
#single .post-connection::before {content: "" !important;}
#single .related-post article {width: 100% !important;padding: 0;display: flex !important;margin-bottom: 30px;}
#single .related-post article .imgtxt {width: 30% !important;margin: 0 !important;}
#single .related-post article .imgtxt .img {margin: 0 !important;width: 100%;}
#single .related-post article .ttl {padding-left: 20px !important;}
#single .related-post h2 {padding: 10px 0 !important;font-size: 15px !important;background-color: inherit !important;border: none !important;font-weight: bold;margin-top: 0 !important ;}
#single .related-post .title a {font-weight: bold;font-size: 15px;}
#single .related-post p {margin: 0 !important;}
#single .related-post a {font-weight: normal;color: #333 !important;}

/*-------モーダル画像-------*/
#grayDisplay {display: none;position: fixed;top: 0;left: 0;width: 100%;max-width: 100% !important;height: 100%;background: rgba(0, 0, 0, 0.8);}

#grayDisplay img {position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;max-width: 90%;max-height: 90%;height: 90%;object-fit: contain;}

/*-------------------------------Contact-------------------------------*/
.contact h1 {text-align: center;font-size: 35px;}
.contact form {margin: 0 auto;}
.contact form input {font-size: 16px;padding: 15px;border: none;margin-bottom: 15px;letter-spacing: 1px;background-color: #f7f7f7;}
.contact form input:focus {outline: -webkit-focus-ring-color auto 5px;}
.contact form textarea {font-size: 16px;height: 200px;padding: 16px;border: none;margin-bottom: 15px;letter-spacing: 1px;background-color: #f7f7f7;}

/* ライター紹介 */
.writer_profile {border: solid 2.3px #f5f1ee;padding: 10px 15px;margin-top: 30px;}
.writer_profile a {color: cornflowerblue !important;}
.writer_profile .writer_imgtxt {display: flex;align-items: center;}
.writer_profile .writer_imgtxt .img {width: 20% !important;padding: 0 !important;margin: 0 !important;}
.writer_profile .writer_imgtxt .img img {border-radius: 50%;width: 60% !important;margin: 0 auto !important;display: block !important;}
.writer_profile .writer_imgtxt .img .sns p {font-weight: bold;margin: 5px 0 !important;text-align: center;font-size: 13px !important;}
.writer_profile .writer_imgtxt .img .sns ul {background-color: inherit !important;border: none !important;padding: 0 !important;list-style: none !important;}
.writer_profile .writer_imgtxt .img .sns ul li {text-align: center;}
.writer_profile .writer_imgtxt .img .sns .twiiter {font-size: 20px;color: #00acee;}
.writer_profile .writer_imgtxt .txt {padding-left: 20px;}
.writer_profile .writer_imgtxt .txt p {margin: 0 !important;}
.writer_profile .writer_imgtxt .txt .name {font-weight: bold;font-size: 20px;}
.writer_profile .writer_imgtxt .txt .name span {color: #929292;font-size: 13px;}
.writer_profile .writer_imgtxt .txt .name_2 {font-size: 14px;line-height: 1.8;}

/* 記事ページ内の内部リンク */
.wp-block-embed__wrapper iframe {width: 100% !important;}
.wp-block-embed__wrapper iframe {border: 1px solid #e7e7e7;box-shadow: 0 0 10px rgb(0 0 0 / 30%);transition: 0.3s;}
.wp-block-embed__wrapper iframe:hover {box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);transform: translateY(-4px);}
.wp-block-embed__wrapper iframe .wp-embed-footer {display: none !important;}

/* コメント */
#comments {padding: 50px 0 20px 0;}
#comments .comment-author {display: flex;align-items: center;margin-bottom: 10px;float: right;}
#comments .comment-author img {width: 50px;display: block;margin-right: 10px;}
#comments .commentmetadata {padding-top: 30px;}
#comments .commentmetadata a {color: #830000;}
#comments .comment-body {margin-bottom: 40px;}
#comments .children {padding-left: 40px;}
#comments h3 {font-size: 22px;margin: 40px 0 15px 0;}
#comments form {line-height: 1.5;margin-bottom: 5px;font-size: 12px;}
#comments form textarea,
#comments form input {width: 100%;padding: 10px;border-radius: 8px;margin-bottom: 15px;}
#comments form .comment-form-comment {margin-top: 25px;}
#comments .comment-body p {margin-top: 15px;}
#comments form a {color: #4773ba;}
#comments form p {margin-bottom: 10px;}
#comments form p img {width: 20%;max-width: 130px;display: block;margin: 0 auto;border: 1px solid #d0d0d0;padding: 5px 10px;}
#comments form .logged-in-as {font-size: 13px;}
#comments form .form-submit {margin: 0 auto;width: 40%;}

/* ポートフォリオ */
.portfolio h1 {margin-bottom: 30px;}
.portfolios {display: flex;flex-wrap: wrap;}
.portfolios .card {overflow: hidden;width: 31%;margin: 0 2% 3% 0;vertical-align: top;}
.portfolios .card:nth-of-type(3n) {margin-right: 0 !important;}
.portfolios .card .imgtxt {height: 100%;}
.portfolios .card .imgtxt .img {margin: 0 !important;padding: 0 !important;overflow: hidden;border: 2px solid #e9e9e9;transition: 0.3s;}

.portfolios .card .imgtxt .img img {margin: 0 !important;border: none !important;}
.portfolios .card a {color: #333 !important;}
.portfolios .card .imgtxt .txt {height: 100%;}
.portfolios .card .imgtxt .txt p {font-size: 11px !important;margin: 0 !important;}
/*responsive
-----------------------------------------------*/
@media screen and (min-width: 1200px) {
  header .menu li a {font-size: 20px;}
  header .menu li .ja {font-size: 18px;}
}

@media screen and (max-width: 768px) {
  .pc {display: none !important;}
  .sp {display: block;}
  main {overflow: hidden;}
  p {font-size: 13px;}
  h1 {font-size: 18px;}
  .top .container .cards {display: block;}
  .top .container .cards .card {width: 100%;}
  .articles {width: 100%;display: block;}
  .articles article {margin-bottom: 15px;}
  .articles .imgtxt {width: 35%;}
  aside {width: 100%;}
  aside .search form {width: 80%;}
  .top {margin-top: 40px;}
  .news .container {margin: 0 auto;width: 98%;display: block;}
  #single .news .container {margin: 0 auto;}
  #single .news .container .imgtxt h1 {margin-bottom: 10px;}
  #single .news .container .imgtxt h2 {font-size: 16px;margin: 50px 0 30px 0;}
  #single .news .container .imgtxt h3 {font-size: 15px;}
  #single .news .container .imgtxt li {font-size: 13px;line-height: 1.8;margin-bottom: 1%;}
  #single .news .container .imgtxt img {width: 100%;}
  #single .news .container .imgtxt p {margin-bottom: 35px;}
  #single .news .container .imgtxt .txt {padding: 10px 0 0 0;}
  #single .news .container .imgtxt .tags a {font-weight: bold;}
  #single .related-post article {width: 100% !important;padding: 0;margin-bottom: 10px;}
  #single .related-post h2 {font-size: 13px;}
  #single .news .imgtxt .pre {padding: 10px 10px 10px 15px;font-size: 13px;}
  #single .news .imgtxt .pre p {padding: 15px 0;}



  /* 関連記事 */
  #single .related-post .title a {font-weight: bold;font-size: 14px;}
  .articles .card {width: 100%;border-top: 1px solid #dedede;margin-bottom: 0px;padding: 13px 0;}
  .articles .card:last-child {border-bottom: 1px solid #dedede;}
  .articles .card .ttl h2 {font-size: 13px;}
  /* ライター紹介 */
  .writer_profile .writer_imgtxt {display: block;}
  .writer_profile .writer_imgtxt .img {width: 100% !important;height: auto !important;}
  .writer_profile .writer_imgtxt .img img {width: 45% !important;}
  .writer_profile .writer_imgtxt .img .sns p {font-size: 16px !important;}
  #comments form p img {width: 50%;}

  /* portfolio */
  .portfolios {width: 95%;margin: 0 auto;}
  .portfolios .card {width: 100%;display: inline-block;margin: 0 0% 10% 0;border: none;}
  .portfolios .card:nth-of-type(3n) {margin-right: 0 !important;}
  .portfolios .card .imgtxt .img {height: 52vw;}
  footer .menu {display: block;}
  footer .menu .txt {width: 100%;margin-bottom: 12%;}
  footer .menu .txt a {font-weight: bold;}
}

@media (max-width: 750px) {
  .pager .pagination li {display: none;}
  .pager .pagination .pre,
  .pager .pagination .next {display: inline-block;width: 40%;height: 50px;text-align: center;background-color: #830000;}
  .pager .pagination .pre a,
  .pager .pagination .next a {width: 100%;text-align: center;color: #fff;}
  .pager .pagination .pre span:after {content: " 前のページ";}
  .pager .pagination .next span:before {content: " 次のページ ";}
}

.pre {background-color: #eee;border: none;margin: 20px 0;padding: 7px;overflow: auto;}
.prettyprint {position: relative;padding: 40px 20px 20px 20px;}
.prettyprint ol {white-space: pre-wrap;}
.ribbon-html::before {content: "HTML";position: absolute;font-size: 14px;font-weight: bold;color: #fff;text-align: center;background: #ffbf7f;width: 50px;height: 25px;top: 0px;left: 0px;}
.ribbon-css::before {content: "CSS";position: absolute;font-size: 14px;font-weight: bold;color: #fff;text-align: center;background: #7fbfff;width: 50px;height: 25px;top: 0px;left: 0px;}
.prettyprint ol.linenums > li {font-size: 14px;border-left: 0.5px solid #aeaeae;margin-left: 10px;padding: 0 0 0 20px;list-style-type: decimal;list-style-position: outside;}

/* =========================================
   SEO / AIO 改修で追加したスタイル
   ========================================= */

/* -----------------------------------------
   アイキャッチ画像（背景画像から <img> へ移行）
   検索エンジンに画像として認識させ、alt を付けられるようにしたもの。
   見た目は従来の background-size:cover と同じになるよう
   object-fit で合わせている。
   ----------------------------------------- */
.lgm-thumb {position: relative; width: 100%; overflow: hidden;}
.lgm-thumb > img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; margin: 0;}

/* 記事詳細のメイン画像は縦横比を保ったまま原寸で見せる */
#single .news .container .articles > article > .imgtxt > .lgm-thumb {padding-top: 0; height: auto;}
#single .news .container .articles > article > .imgtxt > .lgm-thumb > img {position: static; height: auto; aspect-ratio: 3 / 2;}

/* -----------------------------------------
   記事の要点ブロック（AI検索対策）
   記事冒頭に要旨を置くことで、AIが引用しやすくなる
   ----------------------------------------- */
.lgm-summary {border: 1px solid #d2d2d2; border-left: 4px solid #830000; border-radius: 6px; background-color: #fcfcfc; padding: 16px 20px; margin: 0 0 30px;}
.lgm-summary__ttl {font-weight: bold; font-size: 15px !important; margin: 0 0 8px !important; color: #333;}
.lgm-summary__list {list-style: disc !important; padding-left: 1.4em !important; margin: 0 !important;}
.lgm-summary__list li {font-size: 14px; line-height: 1.9; margin: 0 0 4px;}

/* -----------------------------------------
   ハンバーガーボタン
   空リンク <a href=""> から <button> に変更したことによる見た目のリセット
   ----------------------------------------- */
.menu-trigger {background: none; border: none; padding: 0; margin: 0; appearance: none; -webkit-appearance: none;}

/* -----------------------------------------
   パンくずリスト（nav でラップ）
   ----------------------------------------- */
.breadcrumb-nav {width: 100%;}
.breadcrumb li[aria-current="page"] {font-size: 11px; color: #767676;}

/* -----------------------------------------
   画面には出さないがスクリーンリーダーには読ませるテキスト
   ----------------------------------------- */
.u-visually-hidden {position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;}

/* キーボード操作でフォーカスしたときだけ表示する「本文へスキップ」 */
.skip-link:focus {position: fixed !important; top: 10px; left: 10px; z-index: 9999; width: auto; height: auto; padding: 10px 16px; margin: 0; clip: auto; clip-path: none; background: #fff; border: 2px solid #830000; color: #830000; font-size: 14px;}

/* -----------------------------------------
   公開日 / 更新日
   ----------------------------------------- */
#single .news .container .articles article .ttl .date--updated {margin-left: 12px;}
.ttl .date i {padding-right: 4px;}
