@charset "UTF-8";
/*共通css
----------------------------------------------------------------------------------------------------*/

main{overflow: hidden;}
.bold{font-weight: bold;}
.container{width: 95%; margin: 0 auto;}
a{transition: 0.3s;} 
img{display: block;height: auto; width: 100%;}
.object-fit-img {object-fit: cover;object-position: bottom;font-family: 'object-fit: cover; object-position: bottom;'}
/*トップページ戻るボタン*/
#pageTop {position: fixed;bottom:60px;right: 16px;}
#pageTop a {display: block;z-index: 999;padding: 0px;border-radius: 30px;width: 62px;height: 62px;background-color:#BBB3A9; color: #fff;font-weight: bold;text-decoration: none;text-align: center;}
#pageTop i {padding:23px 0 0 2px;font-size:15px;color:#fff; display: block;}
#pageTop a:hover {text-decoration: none;opacity: 0.7;}
/* 404ページ */
.error404 h2{text-align: center; margin-bottom: 20px; font-size: 25px;}
.error404 .home{text-align: center;}
.error404 p a{text-align: center; display: inline-block; margin: 20px 0; color: #4773BA;}
/* 迷惑メール防止 */
.grecaptcha-badge { visibility: hidden; }
/* パンくずりすと */
.breadcrumbs{width: 95%; margin: 0 auto;}
.breadcrumbs a{color: #4865b2;}
/* ページナビゲーション */
.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: #46aef7;}
.pager .pagination li .active {color: #fff;background: #000;}


aside{width:70%;margin: 0 auto;}
aside p{font-size: 14px; font-family: futura-pt,heisei-maru-gothic-std,sans-serif;}
aside a{color: #4865b2; font-family: futura-pt,heisei-maru-gothic-std,sans-serif; letter-spacing:0.1em;}
aside h4{margin: 2% 0; text-align: center; font-family: futura-pt,heisei-maru-gothic-std,sans-serif;}
aside h4::after{content: " ";border: solid 1px #46aef7; display: block;width: 55px;margin: 15px auto;}
aside li{list-style: none; font-size: 14px;font-weight:bold;}
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 {display: flex; flex-wrap: wrap; }
aside .sideTag ul li{padding: 5px 0; line-height: normal; padding:0; }
aside .sideTag ul li a{font-size: 13px; padding:0; display: block; padding: 5px 10px 0 0 ;}
aside .archive{background-color: #fff; margin-bottom: 8%; padding: 3%;}

/* 目次 */ 
.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;}

/*news
----------------------------------------------------------------------------------------------------*/
.news .container{ max-width: 800px; width: 95%;margin:80px auto 50px auto; }
.articles{height: fit-content; margin: 0 auto 10px 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;}
.articles article{margin-bottom:10px; display: flex; transition: 0.3s;}
.articles .up:hover{box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);transform: translateY(-2px); }
.articles .imgtxt{width: 23.5%;}
.articles .imgtxt .img{height: 100%; height: 130px;}
.articles .ttl{flex: 1;}
.imgtxt .txt{padding:3%;}


/*-------news-single-------*/
#single{font-family: sans-serif; }
#single .news .container{width:95%; max-width: 700px; margin: 80px auto 0 auto;}
#single .news .container .articles{display: block;}
#single .news .container .articles article{width: 100%; display: block;}
#single .news .container .articles article .ttl{padding: 0;}
#single .news .container .articles article .ttl .date{display: inline; font-size: 13px; padding:0;}
#single .news .container .imgtxt .img{padding-top: 66%;margin:0px auto 10px auto;}  
#single .news .container .imgtxt{width: 100%; height: fit-content;}
#single .news .container h1{font-size: 25px; line-height: 1.6; font-family: serif;}
#single .news .container .imgtxt h2{font-size: 20px; margin:5% 0 3% 0; padding: 2%;background: linear-gradient(to right, #46aef7 0%, #1dd5e6 100%); color: #fff;}
/* 目次要素とのスペース */
#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;}
#single .news .container .imgtxt ul{list-style:inherit; padding-left: 7%; margin-bottom: 5%; }
#single .news .container .imgtxt ol{list-style:decimal; padding-left: 7%; margin-bottom: 5%; }
#single .news .container .imgtxt li{font-size:14px; line-height: 1.8;  margin-bottom: 1%;}
#single .news .container .imgtxt img{margin:20px auto 0 auto; width: 100%; border-radius: 1.5%; border: 2px solid #e9e9e9;}
#single .news .container .imgtxt p{margin-bottom: 30px; line-height: 2.0;}
#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;}

/* タグ */
.tags{font-weight: bold;}


/* 関連記事 */
#single .post-connection{text-align: left; border-bottom: 1px solid #4a4a4a; width: 100%; padding:0 0 5px 0; margin:40px 0 20px 0!important;}
#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;}

/* 記事ページ内の内部リンク */
.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;}

#archive .newsAcrhive h2{font-size: 20px; margin-bottom: 20px; border-bottom:1px solid #333 ;}



@media screen and (max-width:768px){
  .articles { width: 100%; display:block;}
  .articles article{margin-bottom: 15px;}
  .articles .imgtxt {width: 35%;}
  .articles .topcards .topcard .imgtxt .img {height: 130px;}
  .articles .imgtxt .img {height: 100px;}
  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 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 .news .container .imgtxt .img {margin: 0px auto 10px auto;}
   /* 関連記事 */
  #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;}

  .pager .pagination li {display: none;}
  .pager .pagination .pre,
  .pager .pagination .next {display: inline-block;width: 40%;height: 50px;text-align: center; background-color: #46aef7;}
  .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: " 次のページ ";}
}