@charset "utf-8";
@import url(https://fonts.googleapis.com/css2?family=EB+Garamond&family=Oswald&display=swap);

:root {
  --body-font: '游ゴシック体', 'Yu Gothic', YuGothic, 'Hiragino Sans', sans-serif;
  --ui-font: 'Oswald', sans-serif;
  --title-font: var(--body-font);
  --h-font: var(--body-font);
  --text-tracking: 0;
  --text-size: .8125rem;
  --text-lh: 1.8;
  --topbar-height: 100%;
  --nav-items-space: .9375rem;
  --nav-text: .875rem;
  --nav-text-weight: 400;
  --nav-text-ls: 100;
  --title-size-xs: .875rem;
  --title-size-s: .9375rem;
  --title-size-n: 1rem;
  --title-size-m: 1.0625rem;
  --title-size-l: 1.125rem;
  --title-size-xl: 1.25rem;
  --post-title-size: var(--title-size-l);
  --grid-post-title: var(--title-size-n);
  --single-content-size: .8125rem;
  --post-share-color: #868686;
  --single-title-size: var(--post-title-size);
}

p {
  margin-bottom: 1.4625rem;
}

html {
  font-size: 100%;
}

body {
  font-size: .8125rem;
  letter-spacing: 0;
  line-height: 1.8;
}

.c-breadcrumbs {
  border-top: 1px solid #dddddb;
}

.c-breadcrumbs__inner {
  padding: 1.25rem;
  font-size: .75rem;
  line-height: 1.666666666666667;
  display: flex;
  flex-flow: wrap;
}

.c-breadcrumbs__li {
  display: inline-flex;
  margin: 0 .625rem 0 0;
}

.c-breadcrumbs__inner>span:after, .c-breadcrumbs__li+.c-breadcrumbs__li:before {
  content: '';
  width: .25rem;
  height: .5rem;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 5 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m.877 7.954-.707-.707 3.246-3.247-3.246-3.247.707-.707 3.953 3.954z'/%3E%3C/svg%3E") no-repeat 50% 50%;
  background-size: contain;
  margin: .4375rem .625rem 0 0;
}

.c-breadcrumbs a {
  text-decoration: underline;
}

.c-breadcrumbs a:hover {
  text-decoration: none;
}

.c-breadcrumbs__inner>span {
  display: inline-block;
  margin: 0 .625rem 0 0;
}

.c-breadcrumbs__inner>span:after {
  margin: 0 0 0 .625rem;
  display: inline-block;
}

.c-breadcrumbs__inner>span:last-child:after {
  display: none;
}

.archive-head {
  padding-top: 1.875rem;
  padding-bottom: 2.3125rem;
  border-bottom: 1px solid #dddddb;
  background: 0 0;
}

.archive-head .sub-title {
  color: #000;
  font-size: .625rem;
  letter-spacing: .1em;
  line-height: 1;
  font-weight: 400;
}

.archive-head .title {
  font-size: 1.5rem;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 700;
}

.archive-head .background {
  display: none;
}

.g-footer {
  padding: 3.75rem 0 2.9375rem;
  background: #fff;
}

.g-footer .c-logo {
  width: 6.25rem;
  margin: 0 auto;
}

.g-footer a {
  display: inline-flex;
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.g-footer__contents, .g-footer__sns {
  display: flex;
  border-top: 1px solid #dddddb;
  width: 100%;
}

.g-footer__contents {
  flex-flow: wrap;
  padding: 1.5625rem 0;
}

.g-footer__contents li {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .625rem 0;
}

.g-footer__contents--1 {
  font-size: 1rem;
  line-height: 1.125;
  padding: 3.75rem 0 3.9375rem;
}

.g-footer__contents--1, .g-footer__contents--2 {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}

.g-footer__contents--1 li:nth-child(n+2) {
  margin: 2.0625rem 0 0;
}

.g-footer__contents--2 {
  font-size: .8125rem;
  line-height: 1.153846153846154;
  padding: 0 0 2.5625rem;
}

.g-footer__contents--2 li:nth-child(n+2) {
  margin: 1.375rem 0 0;
}

.g-footer__contents--3 {
  line-height: 1.769230769230769;
  justify-content: center;
}

.g-footer__contents--3 li {
  width: auto;
  padding: 0;
}

.g-footer__contents--3 li:nth-child(n+2) {
  margin: 0 0 0 3.125rem;
}

.g-footer__contents--4 {
  font-size: .75rem;
  line-height: 1.666666666666667;
  color: #a0a0a0;
}

.g-footer__sns {
  padding: 2.75rem 0;
  justify-content: center;
}

.g-footer__sns a {
  display: flex;
  position: relative;
  width: 2.5rem;
}

.g-footer__sns a:before, .g-header__ln__icon:before, .g-header__menu__btn:before {
  display: block;
  content: '';
  width: 100%;
  height: 0;
  padding: 0 0 100%;
}

.g-footer__sns a+a {
  margin: 0 0 0 2.875rem;
}

.g-footer__c {
  font-size: .75rem;
  line-height: 1.166666666666667;
  color: #a0a0a0;
  text-align: center;
  margin: 1.875rem 0 0;
}

.c-breadcrumbs, .g-footer {
  font-family: 'Hiragino Sans',
                 'ヒラギノ角ゴ ProN W3',
                 "Hiragino Kaku Gothic ProN",
                 "メイリオ",
                 Meiryo,
                 "ＭＳ Ｐゴシック",
                 "MS PGothic",
                 sans-serif;
}

.c-sans, .menu-footer-menu-1-container {
  font-family: 'EB Garamond', serif;
  font-weight: 400;
}

.c-sans {
  font-family: Arial, sans-serif;
}

.main-head {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr;
  -ms-grid-columns: 1fr;
  grid-template: 1fr/1fr;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 128;
}

.main-head .top-bar {
  z-index: 0;
}

.main-head .inner, .main-head .top-bar {
  position: relative;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
      grid-row: 1/2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
      grid-column: 1/2;
}

.main-head .top-bar {
  width: 100%;
}

.main-head .top-bar-content {
  width: 100%;
  display: flex;
  align-items: center;
  line-height: 1.142857142857143;
  padding-right: .625rem;
}

.main-head .top-bar-content .wrap {
  max-width: none;
}

.main-head .top-bar .social-icons a {
  font-size: 1rem;
}

.main-head .inner {
  z-index: 1;
  pointer-events: none;
}

.main-head .inner a {
  pointer-events: auto;
}

.main-head .title .logo-image {
  height: 2rem;
}

.main-head:not(.simple):not(.compact):not(.logo-left) .title {
  padding: .625rem 0 !important;
}

.sticky-bar {
  position: relative !important;
}

.grid-post {
  position: relative;
}

.grid-post .post-meta {
  text-align: left;
  display: flex;
  flex-flow: column;
  margin: 1rem 0 .675rem;
}

.grid-post .post-meta .post-title-alt {
  padding: 0;
  margin: .5rem 0 0;
  order: 2;
  line-height: 1.5;
}

.grid-post .post-meta .meta-below {
  order: 1;
}

.grid-post .meta-above {
  position: absolute;
  top: 0;
  left: 0;
}

.grid-post .post-footer {
  text-align: right;
  margin-top: 1.55rem;
}

.main-pagination {
  margin-top: 5rem;
}

.main-pagination .load-button {
  background: 0 0;
  min-width: 0;
  border: solid #000;
  border-width: 0 0 1px;
  font-size: .75rem;
  letter-spacing: .1em;
  line-height: 1.5;
  font-weight: 400;
  padding: 0 0 .3125rem;
}

.main-pagination .load-button:hover {
  color: #000;
  background: 0 0;
  opacity: .7;
}

.main-slider .read-more {
  display: none;
}

.navigation {
  font-family: var(--text-font);
}

.the-post .featured {
  margin-bottom: 0;
}

.post-content .read-more a {
  border-bottom: 1px solid #000;
}

.post-content .read-more a:before {
  content: none;
}

.post-content .ts-row {
  margin-left: 0;
  margin-right: 0;
}

.post-content .column, .post-content .read-more a span,
.post-content .ts-row [class*=" col-"], .post-content .ts-row [class^=col-] {
  padding: 0;
}

.post-content h1, .post-content h2, .post-content h3, .post-content h4,
.post-content h5, .post-content h6 {
  font-size: 1.125rem;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 700;
  margin: 3.14375rem 0 1.89375rem;
}

.post-content .wpb_single_image {
  margin: 3.425rem 0;
}

.wpb_single_image .vc_figure-caption {
  font-style: normal;
  font-size: .75rem;
  letter-spacing: 0;
  line-height: 1.5;
  color: #868686;
  margin-top: 1.0625rem;
}

.content-spacious {
  padding: 2.175rem 0 0;
}

.wpb_content_element, .wpb_row {
  margin-top: 3.1rem;
}

.post-footer .social-share a {
  color: #868686;
  font-size: .875rem;
}

.large-post .post-header {
  display: flex;
  flex-flow: column;
}

.large-post .post-header .featured {
  order: 2;
}

.large-post .post-header .post-meta {
  order: 1;
}

.large-post .post-header .post-meta-b {
  font-size: .625rem;
}

.post-header .post-cat a {
  color: #fff;
  background: #000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 .75rem;
  height: 1.25rem;
  line-height: 1;
}

.tag-share .post-tags {
  margin-top: -.3125rem;
  font-family: var(--body-font);
}

.tag-share .post-tags a, .tagcloud a {
  margin-right: .3125rem;
  padding: .375rem .625rem;
  background: #ededed;
  font-size: 1rem;
}

.tag-share .post-tags a {
  margin-top: .3125rem;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 400;
  border: 0;
}

.tag-share .post-tags a:before, .tagcloud a:before {
  content: '# ';
}

.post-title-alt {
  font-weight: 700;
  line-height: 1.5;
}

.post-meta .post-title-alt {
  margin: .71875rem 0 .46875rem;
}

.related-posts .section-head {
  font-family: var(--h-font);
}

.related-posts .content .post-title, .related-posts .section-head .title {
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 700;
}

.related-posts .content {
  text-align: left;
}

.related-posts .content .post-title {
  font-size: .875rem;
}

.slider-overlay .heading {
  font-size: 1.125rem;
  line-height: 1.5;
  margin: .625rem 0 .375rem;
}

.slider-overlay .category {
  display: inline-block;
  background: 0 0;
  padding: 0;
  font-size: .75rem;
  letter-spacing: 0;
  color: #fff;
}

.slider-overlay .category:before {
  content: '◆';
  font-size: .833333333333333em;
  margin: 0 .34375rem 0 0;
}

.main-slider .item {
  margin-right: .125rem;
}

.common-slider .slick-arrow {
  height: 3.125rem;
}

.common-slider .slick-arrow i {
  line-height: 3.125rem;
}

.tagcloud a {
  margin-bottom: .3125rem;
}

.widget_categories ul {
  margin-top: 0;
}

.widget_categories li {
  font-size: 1rem;
  line-height: .0625;
  padding: 1.3125rem 1rem;
  border-color: #dddddb;
  display: flex;
  align-items: center;
}

.widget_categories li:first-child {
  border-top: 1px solid #dddddb;
}

.widget_categories a {
  color: #868686;
  line-height: 1.5;
}

.widget_categories a:before {
  content: none;
}

.widget-posts .content {
  display: flex;
  align-items: center;
}

.widget-posts .content .post-title {
  font-size: .875rem;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 400;
}

.block-head-widget, .widget-title:not(.has-style) {
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 1rem;
  padding: 0;
  border: 0;
  text-align: left;
}

@media only screen and (min-width:768px) {
  .c-breadcrumbs__inner {
    margin: 0 auto;
    max-width: 1320px;
  }

  .archive-head {
    padding-top: 3.75rem;
    padding-bottom: 4.625rem;
  }

  .g-footer {
    padding: 4.9375rem 0 4.125rem;
  }

  .g-footer__contents, .g-footer__sns {
    border: 0;
    width: auto;
    justify-content: center;
    align-items: center;
  }

  .g-footer__contents {
    flex-flow: row nowrap;
    padding: 0;
  }

  .g-footer__contents li {
    width: auto;
    padding: 0;
  }

  .g-footer__contents li:nth-child(n+2) {
    margin: 0 0 0 1.875rem;
  }

  .g-footer__contents--1 {
    flex-flow: row;
    padding: 5rem 0 2.6875rem;
  }

  .g-footer__contents--2 {
    flex-flow: row;
  }

  .g-footer__contents--1 li:nth-child(n+2) {
    margin: 0 0 0 2.5rem;
  }

  .g-footer__contents--2 {
    padding: 0 0 1.6125rem;
  }

  .g-footer__contents--2 li:nth-child(n+2),
  .g-footer__contents--3 li:nth-child(n+2) {
    margin: 0 0 0 1.875rem;
  }

  .g-footer__sns {
    padding: 3.425rem 0 4.625rem;
  }

  .g-footer__sns a {
    width: 1.4375rem;
  }

  .g-footer__sns a+a {
    margin: 0 0 0 .875rem;
  }

  .g-footer__c {
    margin: 1.375rem 0 0;
  }

  .main-head .top-bar .social-icons li {
    margin-right: .875rem;
  }

  .main-head .top-bar .social-icons a {
    font-size: 1.375rem;
  }

  .main-head .title .logo-image {
    height: 2.5rem;
  }
}

@media only screen and (min-width:941px) {
  .main-head .title .logo-image {
    height: auto;
  }

  .main-head:not(.simple):not(.compact):not(.logo-left) .title {
    padding: 1.125rem 0 !important;
  }

  .navigation {
    display: flex;
    align-items: center;
  }

  .post-content .ts-row .col-6 {
    padding: 0 .46875rem 0 0;
  }

  .post-content .ts-row .col-6+.col-6 {
    padding: 0 0 0 .46875rem;
  }

  .content-spacious {
    padding: 3.425rem 0 0;
  }

  .wpb_text_column {
    padding: 0 1.5625rem;
  }

  .wpb_column .wpb_wrapper>:first-child {
    margin-top: 0;
  }
}

@media only screen and (max-width:940px) {
  .large-post-b .post-footer .col {
    width: 100%;
  }
}
