@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, main,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

img {
  max-width: 100%;
}

html {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

pre {
  white-space: pre-wrap;
}

body {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Lato", "Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.4px;
  color: #4d4b3a;
  position: relative;
}
body.fixed {
  overflow-y: hidden;
}

#wrap {
  background: #F5F6F7;
  margin-left: 240px;
}
@media (max-width: 979px) {
  #wrap {
    margin-left: 0;
    padding-left: 0;
  }
}

a {
  transition: all 0.2s ease-in-out;
}

main {
  max-width: 1600px;
  padding: 64px 32px 128px 64px;
}
@media (max-width: 979px) {
  main {
    padding: 32px 32px 128px 32px;
  }
}
@media (max-width: 480px) {
  main {
    padding: 32px 16px 64px 16px;
  }
}

#logo {
  margin-bottom: 64px;
  padding: 0 16px;
}
@media (max-width: 979px) {
  #logo {
    display: none;
  }
}
#logo a {
  display: block;
  background: #a2a094;
  padding: 10px;
}
#logo img {
  vertical-align: top;
}

#gnav {
  background: white;
  padding-top: 32px;
  height: 100vh;
  width: 240px;
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
  box-shadow: 0 0 3px rgba(51, 51, 51, 0.16);
}
@media (max-width: 979px) {
  #gnav {
    width: 100%;
    padding-top: 80px;
    transform: translateY(-100%);
    transition: all 0.2s ease-in-out;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
  }
  #gnav.show {
    transform: translateY(0);
  }
}
#gnav .catlist li::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  transition: all 0.2s ease-in-out;
  background: #333;
}
@media (max-width: 979px) {
  #gnav .catlist li::after {
    content: none;
  }
}
#gnav .catlist li.hover::after {
  transform: scaleX(1);
}
#gnav .catlist li:nth-child(1)::after {
  background: #fa625f;
}
#gnav .catlist li:nth-child(2)::after {
  background: #ffeb00;
}
#gnav .catlist li:nth-child(3)::after {
  background: #333;
}
#gnav .catlist li:nth-child(4)::after {
  background: #005995;
}
#gnav .catlist li:nth-child(5)::after {
  background: #600473;
}
#gnav .catlist li:nth-child(6)::after {
  background: #a2a094;
}
#gnav .catlist li > a {
  display: block;
  padding: 16px 24px;
  letter-spacing: 1.2px;
  font-weight: bold;
  text-decoration: none;
  color: #4d4b3a;
}
@media (max-width: 979px) {
  #gnav .catlist li > a {
    border-bottom: 1px dashed #d7d2c5;
  }
}
#gnav .catlist li > a.haschild {
  position: relative;
}
#gnav .catlist li > a.haschild::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  position: absolute;
  right: 16px;
  top: calc(50% - 0.5em);
}
@media (max-width: 979px) {
  #gnav .catlist li > a.haschild::after {
    content: none;
  }
}

.submenu {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 240px;
  width: 240px;
  height: 100vh;
  box-shadow: 0 0 3px rgba(51, 51, 51, 0.16);
  background: #fa625f;
  transform: scaleX(0);
  transform-origin: left;
  transition: all 0.2s ease-in-out;
  padding: 128px 16px 0;
}
@media (max-width: 979px) {
  .submenu {
    position: static;
    box-shadow: 0 0 0 rgba(51, 51, 51, 0);
    background: none;
    transform: scaleX(1);
    padding: 0;
    height: auto;
    width: auto;
  }
}
.submenu.show {
  transform: scaleX(1);
}
.submenu dt {
  color: white;
  border-bottom: 1px dotted white;
  font-size: 18px;
  font-size: 1.125rem;
}
@media (max-width: 979px) {
  .submenu dt {
    display: none;
  }
}
.submenu dd {
  padding-top: 32px;
}
@media (max-width: 979px) {
  .submenu dd {
    padding: 0 24px;
  }
}
.submenu a {
  display: block;
  text-decoration: none;
  color: white;
  padding: 8px 0;
}
@media (max-width: 979px) {
  .submenu a {
    display: inline-block;
    color: #4d4b3a;
    margin: 0 8px;
    padding: 8px;
  }
}
.submenu a::before {
  content: "- ";
}
.submenu a::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  transition: all 0.2s ease-in-out;
  background: rgba(255, 255, 255, 0.4);
  transform: scaleX(0);
  transform-origin: left;
}
.submenu a:hover::after {
  transform: scaleX(1);
}

.searchform {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0 24px;
  margin-top: 64px;
}
@media (max-width: 979px) {
  .searchform {
    margin: 16px 0;
  }
}
.searchform input {
  width: 64%;
  flex: 1;
  border: 2px solid #4d4b3a;
  padding: 8px;
  outline: none;
  transition: all 0.2s ease-in-out;
}
.searchform input:focus {
  border-color: #a2a094;
  background: #eeeeeb;
}
.searchform button {
  border: none;
  outline: none;
  background: #4d4b3a;
  cursor: pointer;
  padding: 0 8px;
  transition: all 0.2s ease-in-out;
}
.searchform button:hover {
  background: #706d54;
}

footer {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  background: #a2a094;
  padding: 32px 24px 0;
  margin-left: 240px;
}
@media (max-width: 979px) {
  footer {
    margin-left: 0;
    padding: 16px;
  }
}
footer a {
  text-decoration: none;
}
footer .logo {
  width: 160px;
  margin-right: 32px;
}
@media (max-width: 979px) {
  footer .logo {
    display: none;
  }
}
footer .catlist {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media (max-width: 768px) {
  footer .catlist {
    display: block;
  }
}
footer .catlist > div {
  padding: 0 16px;
}
footer .catlist a {
  color: white;
  display: block;
}
@media (max-width: 979px) {
  footer .catlist a {
    display: inline-block;
    padding: 0 8px;
    margin: 0 4px;
  }
}
footer .catlist dt {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
}
@media (max-width: 979px) {
  footer .catlist dt {
    margin-top: 16px;
  }
}

#copy {
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 64px 8px 8px;
  color: white;
}

#keyword {
  background: white;
  padding: 48px 16px 48px;
  border-top: 2px solid #a2a094;
}
#keyword .title_txt {
  text-align: center;
}
#keyword ul {
  width: 94%;
  max-width: 960px;
  text-align: center;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #keyword ul {
    text-align: left;
  }
}
#keyword li {
  display: inline-block;
  padding: 4px;
}
#keyword a {
  display: block;
  background: white;
  border: 1px solid #a2a094;
  text-decoration: none;
  color: #a2a094;
  line-height: 1;
  padding: 4px 12px;
  border-radius: 2em;
  font-size: 15px;
  font-size: 0.9375rem;
}

section {
  margin: 80px auto;
}

#sphead {
  display: none;
}
@media (max-width: 979px) {
  #sphead {
    display: block;
    background: #a2a094;
    height: 64px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 10;
  }
  #sphead a {
    display: inline-block;
    height: 100%;
    padding: 8px;
  }
  #sphead img {
    height: 100%;
  }
  #sphead .burger {
    width: 64px;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #sphead .burger.open span {
    background: rgba(255, 255, 255, 0);
  }
  #sphead .burger.open span::before {
    top: 0;
    transform: rotate(45deg);
  }
  #sphead .burger.open span::after {
    bottom: 0;
    transform: rotate(-45deg);
  }
  #sphead .burger span {
    display: block;
    width: 64%;
    height: 3px;
    background: white;
    position: relative;
    transition: all 0.2s ease-in-out;
  }
  #sphead .burger span::before, #sphead .burger span::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: white;
    position: absolute;
    left: 0;
    transition: all 0.2s ease-in-out;
  }
  #sphead .burger span::before {
    top: -12px;
  }
  #sphead .burger span::after {
    bottom: -12px;
  }
}

.bnr {
  text-align: center;
  padding: 8px 0;
}

.card {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.card li {
  width: 25%;
  min-width: 300px;
  padding: 16px;
}
@media (max-width: 1535px) {
  .card li {
    width: 33.3333333333%;
  }
}
@media (max-width: 1252px) {
  .card li {
    width: 50%;
  }
}
@media (max-width: 768px) {
  .card li {
    width: 100%;
  }
}
.card a {
  display: block;
  height: 100%;
  background: white;
  box-shadow: 8px 8px 0 #a2a094;
  border: 1px solid #a2a094;
  position: relative;
  padding: 24px 16px 16px;
  text-decoration: none;
  color: #333;
}
.card .cate {
  position: absolute;
  top: -4px;
  left: -4px;
}
.card .title {
  font-weight: bold;
  padding-bottom: 16px;
}
.card .excerpt {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #4d4b3a;
}
.card .bnr img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.cate {
  display: inline-block;
  background: #ffeb00;
  font-size: 14px;
  font-size: 0.875rem;
}
.cate span {
  display: inline-block;
  padding: 0 4px;
}

.wp-pagenavi {
  margin: 48px auto;
  text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  border-radius: 4px;
  padding: 12px 24px;
  margin-bottom: 16px;
  font-size: 14px;
  font-size: 0.875rem;
  color: #4d4b3a;
}
@media (max-width: 480px) {
  .wp-pagenavi a, .wp-pagenavi span {
    padding: 8px;
  }
}
.wp-pagenavi a.pages, .wp-pagenavi span.pages {
  padding: 6px 12px;
}
.wp-pagenavi .current {
  color: white;
  background: #4d4b3a;
}
.wp-pagenavi .page {
  background: white;
}
.wp-pagenavi .page:hover {
  background: #a2a094;
  color: white;
  border-color: white;
}

.title_txt {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  padding-bottom: 32px;
}

.title_page {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  margin: 8px 0 32px;
}

#single {
  padding-bottom: 128px;
}
#single .cate {
  margin-right: 16px;
}
#single time {
  font-size: 15px;
  font-size: 0.9375rem;
}
#single .content {
  margin-top: 32px;
}
#single .content p {
  padding: 16px 0;
}
#single .content h2 {
  font-weight: bold;
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 32px;
}
#single .content em {
  font-weight: bold;
}
#single .content .big {
  font-weight: bold;
  font-size: 1.2em;
}
#single .content small, #single .content .small {
  font-size: 0.86em;
}
#single .content .disc, #single .content .decimal {
  padding-left: 1.6em;
  margin: 8px 0;
}
#single .content .disc li, #single .content .decimal li {
  padding: 8px 0;
}
#single .content .disc {
  list-style: disc;
}
#single .content .decimal {
  list-style: decimal;
}
#single .content .red {
  font-weight: bold;
  color: #fa625f;
}
#single .content .blue {
  font-weight: bold;
  color: #005995;
}
#single .content .bnr {
  margin: 16px auto;
}
#single .content .lineblank {
  border: none;
  margin: 2.4em 0;
}
#single .bnr {
  text-align: left;
}

#category, #tag {
  position: relative;
}
#category .pagetitle, #tag .pagetitle {
  position: absolute;
  top: -32px;
  left: 0;
}
#category .title_block, #tag .title_block {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  margin: 8px 0 32px;
}
#category .title_block a, #tag .title_block a {
  display: inline-block;
  text-decoration: none;
  position: relative;
  margin-right: 40px;
}
#category .title_block a::after, #tag .title_block a::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  position: absolute;
  left: calc(100% + 16px);
  top: calc(50% - 0.5em);
}
/*# sourceMappingURL=base.css.map */