@charset "UTF-8";

/* ダークモード対策 */
body {
  background-color: #fff;
}
/* パンくず調整 */
#pankuzu li + li:before {
  padding-left: 5px;
}

/*----------------------------------------------------

コラム

----------------------------------------------------*/
/* 変数 */
#column {
    --block-spacing: 1em;
    --main-color: #294e9f;
    --main-color-rgb: 41, 78, 159;
    --sub-color: #0088cc;
    --sub-color-rgb: 0, 136, 204;
    --accent-color: #f5d922;
    --accent-color-rgb: 245, 217, 34;
    --border-color: #ddd;
    font-size: 1.4rem;
    line-height: 1.6;
}


/*----------------------------------------------------
  汎用クラス
----------------------------------------------------*/
/* 画像 */
#column img {
    vertical-align: bottom;
    max-width:  100%;
}
/* リンク */
#column a {
    transition: .3s;
}
#column a:hover,
#column a:hover img {
    opacity: 1;
}
/* 画像ズーム */
.zoom .post-thumbnail {
	overflow:hidden;
	position:relative;
	display:block;
}
.zoom img {
	display:block;
	transition-duration:0.5s;
}
.zoom:hover img {
	transform:scale(1.05);
}

/*----------------------------------------------------
  構造
----------------------------------------------------*/
/* ページ先頭見出し */
.column-head {
    background-color: #e4f1f9;
    background-image: url(https://www.polyma.co.jp/wp/wp-content/themes/mizutani/img/dot.png);
    display: flex;
    justify-content: center;
    position: relative;
    margin-bottom: calc(var(--block-spacing) * 2);
}
.column-head::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, #fff 0%, #c8e4f5 15%, #c8e4f5 85%, #fff 100%);
}
.column-head img {
    width: 100%;
    max-width: 980px;
}
#column-section {
    font-family: "Noto Sans JP", sans-serif;
}
/* 2カラムのフレーム */
.column-wrap {
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--block-spacing) * 2);
    margin: var(--block-spacing) auto calc(var(--block-spacing) * 3);
}
.right-column {
    padding-left: 4%;
    padding-right: 4%;
}

@media screen and (min-width:40em) {
/* 変数 */
  #column {
    --block-spacing: 2em;
}
/* コラムの全体囲み広く */
  #column-section {
    width: 90vw;
    min-width: 980px;
    /* max-width: 1300px; */
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}
/* ページ先頭見出し */
  .column-head {
    margin-top: calc(var(--block-spacing) * .25);
}
/* 2カラムのフレーム */
  .column-wrap {
    flex-direction: row;
    row-gap: 0;
    column-gap: var(--block-spacing);
}
  .left-column {
    flex: 1;
}
  .right-column {
    width: 280px;
    /* margin-top: 1.25em; */
    padding: 0;
    position: relative;
}
  .right-column .sidebar-inner {
    position: sticky;
    top: 20px;
}

}


/*----------------------------------------------------
  右カラム
----------------------------------------------------*/
.column-aside a:hover {
  text-decoration: none;
}
.column-aside:not(:last-of-type) {
  margin-bottom: calc(var(--block-spacing) * 2);
}

/* 右カラムセクション見出し */
.column-aside .aside-title {
  font-weight: bold;
  font-size: 1.2em;
  padding: 0 0 0.5em;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 1em;
  display: grid;
  grid-template-columns: 15px 1fr;
  align-items: center;
}
.column-aside .aside-title::before {
/*   position: absolute; */
  content: "";
  display: block;
  width: 4px;
  height: 1.25em;
  background-color: var(--main-color);
}

/* 記事の検索 */
.column-aside .search-box {
  display: flex;
}
.column-aside .search-box .search-edit {
  flex: 1;
  border-radius: 3px 0 0 3px;
  border: 1px solid var(--border-color);
  font-size: 1.5rem;
  padding: .75em;
}
.column-aside .search-box .search-submit {
  border-radius: 0 3px 3px 0;
  border-top: 1px solid var(--border-color);
  border-right: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  border-left: none;
  width: 3em;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--sub-color);
  color: #fff;
}
.column-aside .search-box .search-submit .fas {
  font-size: 1.2em;
}


/* 右カラムのサムネ＆見出しリスト */
.column-aside .aside-list li:not(:last-of-type) {
  margin-bottom: 1em;
}
.column-aside .aside-list a {
  display: flex;
  align-items: center;
  column-gap: 1em;
}
.column-aside .aside-list .aside-thumbnail {
  width: 45%;
}
.column-aside .aside-list .aside-thumbnail img {
  object-fit: cover;
  aspect-ratio: 1.91 / 1;
  width: 100%;
  height: auto;
}
.column-aside .aside-list .aside-content {
  flex: 1;
}
.column-aside .aside-list .aside-content .aside-ttl {
  font-weight: bold;
  color: #333;
}
.column-aside .aside-list a:hover .aside-ttl {
  color: var(--sub-color);
}
.column-aside .aside-list a:hover img {
  opacity: .8!important;
}
/* ランキング */
.column-aside .ranking-list li {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 1em;
}
.column-aside .ranking-list li a:first-of-type {
  width: 45%;
  display: block;
}
.column-aside .ranking-list li a:last-of-type {
  flex: 1;
}
/* .column-aside .ranking-list li a:first-of-type::before {
  position: absolute;
  content: "1";
  display: flex;
  align-items: center;
  justify-content: center;
  left: -.5em;
  top: -.5em;
  border-radius: 50%;
  background-color: #BF9224;
  color: #fff;
  font-weight: bold;
  width: 2em;
  height: 2em;
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 1em;
} */
.column-aside .ranking-list li::before {
  position: absolute;
  content: "1";
  display: flex;
  align-items: center;
  justify-content: center;
  left: -.5em;
  top: -.5em;
  border-radius: 50%;
  background-color: #BF9224;
  color: #fff;
  font-weight: bold;
  width: 2em;
  height: 2em;
  z-index: 2;
}
.column-aside .ranking-list li:nth-of-type(2)::before {
  content: "2";
  background-color: #908787;
}
.column-aside .ranking-list li:nth-of-type(3)::before {
  content: "3";
  background-color: #AC6B24;
}
.column-aside .ranking-list .wpp-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 1.91 / 1;
  object-fit: cover;
}
.column-aside .aside-list .wpp-post-title {
  font-weight: bold;
  color :#333;
}
.column-aside .ranking-list .wpp-post-title:hover {
  color: var(--sub-color);
}

@media screen and (min-width:40em) {
  .column-aside .aside-list .aside-ttl,
  .column-aside .aside-list .wpp-post-title {
  font-size: 0.9em;
  line-height: 1.4;
}
}


/* カテゴリー */
.column-aside .category-list li {
  border: 1px solid var(--border-color);
}
.column-aside .category-list li a {
  display: flex;
  column-gap: 1.25em;
  align-items: center;
}
.column-aside .category-list li a:hover {
  background-color: rgba(var(--sub-color-rgb), .1);
}
.column-aside .category-list li:not(:last-of-type) {
  margin-bottom: 1em;
}
.column-aside .category-list li img {
  width: 80px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  vertical-align: bottom
}
.column-aside .category-list li strong {
  font-weight: bold;
  font-size: 1.05em;
  color: #333;
}

/* キーワード */
.keyword-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.keyword-list li a {
  display: inline-block;
  border: 1px solid rgba(var(--sub-color-rgb), 1);
  padding: .6em .75em;
  line-height: 1;
  font-size: 0.9em;
  white-space: nowrap;
  text-decoration: none;
  border-radius: 999px;
  transition: none!important;
}
.keyword-list li a:hover {
  background-color: var(--sub-color);
  color: #fff;
}


/*----------------------------------------------------

トップページ

----------------------------------------------------*/

/*----------------------------------------------------
  アーカイブリスト
----------------------------------------------------*/
.post {
  border-bottom: 1px solid var(--border-color);
}
.post:first-of-type {
  margin-top: 0;
  border-top: 1px solid var(--border-color);
}
.post-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--block-spacing);
  text-decoration: none;
  padding: calc(var(--block-spacing) * 1.5) 4%;
}
/* スマホのアーカイブリストは1列 */
.left-column.post-link {
  flex-direction: row;
}
a.post-link:hover,
a.post-link:focus {
  background-color: rgba(var(--sub-color-rgb), .1);
  text-decoration: none!important;
  opacity: 1;
}
/* サムネイル */
.post-thumbnail img {
  object-fit: cover;
  aspect-ratio: 1.91 / 1;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
/* NEWアイコン */
.post.new .post-thumbnail {
  position: relative;
}
.post.new .post-thumbnail::before {
  position: absolute;
  content: "NEW";
  display: block;
  color: #fff;
  transform: rotate(-45deg);
  z-index: 2;
  font-weight: bold;
  font-size: 0.8em;
  top: .75em;
  left: .25em;
}
.post.new .post-thumbnail::after {
  border-top: 50px solid #d00;
  border-right: 50px solid transparent;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
/* 見出し */
.post-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  color: var(--main-color);
  padding-bottom: 0.2em;
}
/* 抜粋 */
.post-excerpt {
  color: #333;
  margin-bottom: calc(var(--block-spacing) / 2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 情報 */
.post-meta {
  font-size: 1rem;
}
/* 日時 */
.post-date {
  margin-bottom: .75em;
  color: #777;
}
.post-date i {
  margin-right: 2px;
}
/* カテゴリー */
.post-category {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.post-category .category-name {
  margin-right: 5px;
  background: var(--sub-color);
  color: #fff;
  font-weight: bold;
  padding: .5em 1em;
  border-radius: 3px;
}

@media screen and (min-width:40em) {
  .post {
  margin-top: 0;
}
  .post-link {
  flex-direction: row;
  gap: var(--block-spacing);
  margin-bottom: 0;
  padding: var(--block-spacing) calc(var(--block-spacing)* .5);
}
/* 見出し */
  .post-title {
  font-size: 1.9rem;
  line-height: 1.5;
  padding-bottom: 0.2em;
}
/* 抜粋 */
  .post-excerpt {
  font-size: 0.95em;
} 
/* サムネイル */
  .post-thumbnail {
  width: 40%;
  max-width: 350px;
}
  .post-content {
  flex: 1;
}
}


/*----------------------------------------------------
  ページャー
----------------------------------------------------*/
.pagination {
  margin: calc(var(--block-spacing) * 2) auto;
	text-align: center;
}
.pagination ul {
  display: flex;
  gap: 0.5em;
  justify-content: center;
  align-items: center;
  font-size: 0.95em;
}
.pagination a {
  display: inline-block;
  padding: .75em 1em;
  color: #707070;
	background: #fff;
  text-decoration: none;
  border: 1px solid var(--border-color);
}
.pagination a:hover {
  color: #fff;
  border-color: var(--sub-color);
  background-color: var(--sub-color);
}
.pagination .current {
  border: solid 1px var(--main-color);
  padding: .75em 1em;
	color: #fff;
  font-weight: bold;
	background: var(--main-color);
	box-shadow: 0px 1px #EDEDED !important;
}
.pagination .dots {
  padding: .25em;
  color: #707070;
  border: none;
}

@media screen and (min-width:40em) {
	.pagination {
	margin: calc(var(--block-spacing) * 1.5) auto;
}
}

/*----------------------------------------------------

下層ページ

----------------------------------------------------*/

/*----------------------------------------------------
アーカイブページ
----------------------------------------------------*/
/* アーカイブタイトル */
.archive-title {
  margin-bottom: var(--block-spacing);
  font-weight: bold;
  font-size: 1.35em;
  margin-left: 1em;
  padding: .5em 0;
}

@media screen and (min-width:40em) {
	.archive-title {
  font-size: 2em;
  margin-left: 1rem;
  padding: 0;
}
}



/*----------------------------------------------------
投稿ページ
----------------------------------------------------*/
.post-wrap {
  padding-left: 1em;
  padding-right: 1em;
}
/* 下層記事メインタイトル部分 */
.post-ttlarea {
  margin-bottom: 3em;
}
/* メイン見出し */
.post-ttlarea .column-title {
  font-weight: bold;
  font-size: 1.4em;
} 
/* アイキャッチ */
.post-ttlarea .eye {
  margin-top: 1.0em;
}
.post-ttlarea .eye img {
  object-fit: cover;
  aspect-ratio: 1.91 / 1;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
.post-ttlarea .post-meta {
  font-size: .9em;
  margin-top: .5em;
}
.post-ttlarea .category-name a {
  color: #fff;
}
.post-ttlarea .category-name:hover {
  background-color: rgba(var(--sub-color-rgb), .85);
}
.post-ttlarea .category-name a:hover {
  text-decoration: none;
}



/* 記事に属するタグ */
.keyword-wrap {
  margin-top: 3em;
}

/* SNSシェア */
.sns-wrap {
  text-align: center;
  margin: 2em auto;
}
.sns-wrap .share-ttl {
  font-weight: bold;
  font-size: 1.1em;
  margin-bottom: 1em;
}
.sns-wrap .sns-list {
  display: flex;
  justify-content: center;
  gap: 1em;
}
.sns-wrap .sns-list i {
  font-size: 2.5em;
}
.sns-wrap .sns-x i::before {
  color: #000;
}
.sns-wrap .sns-line i::before {
  color: #00B900;
}
.sns-wrap .sns-facebook i::before {
  color: #1877f2;
}
.sns-wrap .sns-list a:hover i::before {
  opacity: .85!important;
}
/* コラムTOPに戻る */
.bk-top {
	margin-top: 40px;
}
.bk-top a {
	text-align: center;
	padding: 1.5em;
	font-size: 1.5rem;
}
.bk-top a::after {
	right: 14px;
}
.bk-top a:hover {
	opacity: .9!important;
}

@media screen and (min-width:40em) {
/* メイン見出し */
.post-ttlarea .column-title {
  font-size: 1.9em;
}
/* アイキャッチ */
.post-ttlarea .eye {
  margin-top: 2.0em;
}
/* 関連記事 */
  .post-wrap .related-list {
    display: flex;
    gap: 2em;
  }
  .post-wrap .related-list li {
    width: calc(100% / 3);
  }
  .post-wrap .related-list a {
    display: block;
  }
  .post-wrap .related-list .aside-thumbnail {
    width: 100%;
  }
  .post-wrap .related-list .aside-ttl {
    font-size: 1em!important;
    line-height: 1.5!important;
    margin-top: 0.75em;
  }
}

/* ------------------------------------------------------------
  エディター部分
------------------------------------------------------------ */
/* 下スペース */
.edit-area * {
	margin-bottom: calc(var(--block-spacing) * 1.25);
}
.edit-area .wp-block:last-child,
.edit-area p:last-of-type {
	margin-bottom: 0;
}
/* 画像の上下スペース */
.edit-area .wp-block-image {
  margin-top: calc(var(--block-spacing) * 1.75);
  margin-bottom: calc(var(--block-spacing) * 1.5);
}
/* 重複スペース削除（カラム） */
.edit-area .wp-block-columns > .wp-block,
.edit-area .wp-block-column > .wp-block {
	margin-bottom: 0;
}
.edit-area .wp-block-column > .wp-block + .wp-block {
	margin-top: var(--block-spacing);
}
.edit-area .wp-block-columns {
	gap: var(--block-spacing);
}
/* 段落 */
.edit-area p {
  font-size: 1.5rem;
  line-height: 1.7;
}
/* 文字に背景色 */
.edit-area .has-inline-color {
  font-style: normal;
  font-weight: normal;
}
/* 強調 */
.edit-area strong {
  font-weight: bold !important;
}
/* 文字に黄色のライン */
.edit-area em {
	background: #ffff99;
  /*background: linear-gradient(transparent 60%, #ffd0d1 60%);*/
}
/* 外部リンクアイコン */
.edit-area a[target="_blank"]::after {
  content: "\f35d";
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  padding-left: .3em;
}
/* 外部リンクアイコン除外 */

/* PDFアイコン */
.edit-area a[href$=".pdf"]::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c1";
}
/* 見出し */
.edit-area .wp-block-heading {
  font-weight: bold;
}
/* 大見出しH2 */
.edit-area h2 {
  padding: 0.4em 0.5em;
  background: #f4f4f4;
  border-left: solid 5px var(--main-color);
  border-bottom: solid 2px var(--border-color);
  font-size: 1.35em;
  margin-top: 2em;
}
/* 中見出しH3 */
.edit-area h3 {
  padding: 0 0 0.5em;
  border-bottom: 1px solid var(--border-color);
  font-size: 1.2em;
  margin-top: 1.5em;
  margin-bottom: .5em;
}
/* 画像 */
.edit-area .wp-block-image,
.edit-area .wp-block-image figure {
	margin-left: 0;
  margin-right: 0;
}
.edit-area .wp-block-image img {
	max-width: 100%;
  height: auto;
}
.edit-area .wp-block-image .aligncenter {
	margin-left: auto;
  margin-right: auto;
  width: fit-content;
}
/* キャプション */
.edit-area .wp-block-image figcaption {
	margin-top: 0.5em;
  font-size: 0.9em;
}
/* 重複スペース削除（画像） */
.edit-area .wp-block-image img {
	margin-bottom: 0;
}

/* 目次*/
#ez-toc-container * {
  margin-bottom: 0!important;
}
#ez-toc-container {
  padding: 1.5em!important;
}
/* 目次タイトル */
#ez-toc-container .ez-toc-title-container {
  text-align: center;
  margin-bottom: 1em!important;
}
/* 目次リスト部分 */
#ez-toc-container .ez-toc-list {
  margin: auto;
  width: fit-content;
}
#ez-toc-container .ez-toc-list a {
  padding-bottom: 0.5em;
}
#ez-toc-container .ez-toc-list a:visited {
  color: #666;
}

@media screen and (min-width:40em) {
/* 下スペース */
  .edit-area * {
	margin-bottom: var(--block-spacing);
}
/* 画像の上下スペース */
  .edit-area .wp-block-image {
  margin-top: calc(var(--block-spacing) * 1.75);
  margin-bottom: calc(var(--block-spacing) * 1.75);
}
/* 段落 */
  .edit-area p {
  font-size: 1.6rem;
  line-height: 1.8;
}
/* 大見出しH2 */
  .edit-area h2 {
  padding: 0.5em 0.75em;
  font-size: 1.6em;
  margin-top: 4em;
}
/* 中見出しH3 */
  .edit-area h3 {
  font-size: 1.5em;
  margin-bottom: 1em;
}
}





/* 初回時非公開 */
.right-column {
	display: none;
}
.left-column {
	margin-left: auto;
	margin-right: auto;
	max-width: 740px;
}