@charset "UTF-8";
/*
Theme Name: MY THEME
Author: mizoguchi
Description: オリジナルテーマ
Version: 1.0
*/

/* 変数 */
:root {
  --f1: 2.44em;
  --f2: 1.95em;
  --f3: 1.56em;
  --f4: 1.25em;
  --f5: 1em;
  --f6: 0.8em;
}

/* 基本 */
body {
  margin: 0;
  font-family: sans-serif;
}

figure {
  margin-left: 0;
  margin-right: 0;
}

.myblocks .myfigure:first-child {
  margin-top: 0;
  margin-bottom: 0;
}

img {
  max-width: 100%;
  height: auto;
}

iframe {
  width: 100%;
}

a {
  color: #444444;
  text-decoration: none;
}

a:hover {
  opacity: 0.8;
}

/* グリッド */
body {
  --side: 2.5vw;
  display: grid;
  grid-template-columns:
    var(--side) var(--side) 1fr
    var(--side) var(--side);
  grid-template-rows: 
    [head] 100px
    [main] auto
    [aside] auto
    [foot] 150px;
  grid-row-gap: 50px;
  row-gap: 50px;
}

body > * {
  grid-column: 2 / -2;
  min-width: 0;
}

/* ヘッダー */
.myheader {
  grid-row: head;
  justify-self: center;
  align-self: center;
  font-family: 'Montserrat', sans-serif;
  font-size: var(--f3);
  font-weight: bold;
}

body::before {
  content: '';
  background-color: #eeeeee;
  height: 2px;
  grid-column: 1 / -1;
  grid-row: head;
  align-self: end;
  margin-bottom: -20px;
}

/* ナビゲーションメニュー */
.mynav {
  grid-row: head;
  justify-self: center;
  align-self: end;
}

.mynav ul {
  display: grid;
  grid-auto-flow: column;
  margin: 0;
  padding: 0;
  list-style-type: none;
  grid-column-gap: 20px;
  column-gap: 20px;
  font-size: var(--f6);
}

/* コンテンツ */
.mymain {
  grid-column: 1 / -1;
  grid-row: main;
  display: grid;
  grid-template-columns: inherit;
  grid-template-columns: subgrid;
}

.mymain > * {
  grid-column: 1 / -1;
  min-width: 0;
}


h1 {
  font-size: var(--f1);
}

h2 {
  font-size: var(--f2);
}

h3 {
  font-size: var(--f3);
}

h4 {
  font-size: var(--f4);
}

h5 {
  font-size: var(--f5);
}

h6 {
  font-size: var(--f6);
}

p {
  font-size: var(--f5);
  line-height: 2;
}

/* サイドメニュー */
.myaside {
  grid-column: 1 / -1;
  grid-row: aside;
  display: grid;
  grid-row-gap: 30px;
  row-gap: 30px;
  background-color: #1b5e92;
  padding: 60px var(--side);
  margin-bottom: -50px;
}

.myaside section h2 {
  border-bottom: solid 2px #dddddd;
  padding-bottom: 20px;
  margin-bottom: 30px;
  font-size: var(--f4);
  font-weight: normal;
  color: #ffffff;
  text-align: left;
}

.myaside section a {
  color: #ffffff;
}

.myaside section ul {
  padding: 0;
  list-style-type: none;
  font-size: var(--f6);
  display: grid;
  grid-row-gap: 15px;
  row-gap: 15px;
}

/* フッター */
.myfooter {
  grid-row: foot;
  justify-self: center;
  align-self: center;
  font-family: 'Montserrat', sans-serif;
  font-size: var(--f6);
  color: #ffffff;
}

body::after {
  content: '';
  background-color: #162d51;
  grid-column: 1 / -1;
  grid-row: foot;
  z-index: -1;
}

/* 記事:カテゴリー */
.post-categories {
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 10px;
  column-gap: 10px;
  justify-content: start;
  padding: 0;
  list-style-type: none;
}

.post-categories a {
  padding: 3px 10px;
  border-radius: 10px;
  background-color: #1b5e92;
  color: #fff;
  font-size: var(--f6);
}

/* 記事：投稿日 */
.mytime {
  display: block;
  text-align: right;
  color: #444444;
}

/* 記事:前後の記事へのリンク */
.post-navigation {
  grid-column: 3 / -3;
}

.post-navigation .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 30px;
  column-gap: 30px;
  margin-top: 50px;
  padding: 40px 0;
  border-top: solid 1px #dddddd;
  border-bottom: solid 1px #dddddd;
  font-size: var(--f6);
}

.post-navigation .nav-previous {
  grid-column: 1;
}

.post-navigation .nav-next {
  grid-column: 2;
}

.post-navigation .nav-previous a::before {
  content: '\f137';
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  color: #444444;
}

.post-navigation .nav-next a::after {
  content: '\f138';
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  color: #444444;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 10px;
  column-gap: 10px;
  align-items: center;
  justify-content: start;
}

.post-navigation .nav-next a {
  text-align: right;
  justify-content: end;
}

/* 記事一覧 */
.postlist a {
  display: block;
}

.postlist {
  grid-column: 2 / -2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
  gap: 15px;
  --imgh: 56vw;
}

.postlist > * {
  grid-column: auto;
}

.postlist article {
  border: solid 1px #dddddd;
  box-shadow: 0 3px 5px #dddddd;
}

.postlist figure {
  margin: 0;
}

.postlist h2 {
  margin: 0;
  padding: 10px;
  font-size: var(--f5);
}

.postlist article:first-of-type {
  grid-column: 1 / -1;
}

.postlist article:first-of-type h2 {
  padding: 15px 10px;
  font-size: var(--f2);
}

.postlist article:first-of-type img {
  height: var(--imgh);
}

.postlist article img {
  height: calc( var(--imgh) / 2 );
  object-fit: cover;
}

/* ページネーション */
.pagination {
  grid-column: 1 / -1;
  grid-row: auto;
  justify-self: center;
  /*margin-top: 40px;*/
  margin: 40px 0 0 0;
}

.pagination .nav-links {
  display: grid;
  grid-auto-flow: column;
  grid-column-gap: 25px;
  column-gap: 25px;
  color: #888888;
  font-family: 'Montserrat', sans-serif;
  font-size: var(--f4);
}

.pagination .nav-links a {
  color: #1b5e92;
}

/* カテゴリー & 月別ページ */
.postlist h1 {
  grid-column: 1 / -1;
  color: #1b5e92;
  font-size: var(--f3);
  font-weight: normal;
}

.category h1::before {
  content: '\f0c6';
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  margin-right: 10px;
  opacity: 0.8;
}

.date h1::before {
  content: '\f186';
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  margin-right: 10px;
  opacity: 0.8;
}

/* お問い合わせ */
.wpcf7-text,
.wpcf7-textarea {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  border: solid 1px #bbbbbb;
}

.wpcf7-submit {
  width: 250px;
  padding: 10px;
  border: none;
  background-color: #ffaa00;
  -webkit-appearance: none;
}

/* 仕上げ */
.alignleft {
  float: left;
  margin: 0 2em 2em 0;
}

.alignright {
  float: right;
  margin: 0 0 2em 2em;
}

.aligncenter {
  display: block;
  margin: 2em auto;
  clear: both;
}

.myblocks {
  display: grid;
  grid-template-columns: inherit;
  grid-template-columns: subgrid;
}

.myblocks > * {
  grid-column: 3 / -3;
  min-width: 0;
}

.myblocks::after { /* 未対応ブラウザ用設定 */
  content: '';
  display: block;
  clear: both;
}

.wp-block-categories.aligncenter,
.wp-block-latest-posts.aligncenter,
.wp-block-archives.aligncenter,
.wp-block-tag-cloud.aligncenter,
.wp-block-latest-comments.aligncenter,
.wp-block-rss.aligncenter {
  text-align: center;
}

.myblocks {
  box-sizing: border-box;
}

.myblocks *,
.myblocks *::before,
.myblocks *::after {
  box-sizing: inherit;
}

/* 幅広・全幅 */
.alignwide {
  grid-column: 2 / -2;
}

.alignfull {
  grid-column: 1 / -1;
}

.myposts h2 {
  border-bottom: solid 3px #162d51
}

.myposts h3 {
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #162d51;/*左線*/
}



/* PC版 */
@media (min-width: 1024px) {
  body {
    --side: 10vw;
  }

  .myheader {
    grid-column: 2 / -2;
    justify-self: start;
  }

  .mynav {
    grid-column: 2 / -2;
    justify-self: end;
    align-self: center;
  }

  .myaside {
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 40px;
    column-gap: 40px;
  }

  body::before {
    margin-bottom: 0;
  }

  .postlist {
    --imgh: 31vw;
  }

  .postlist h1 {
    font-size: var(--f1);
  }  
}

