@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;700&display=swap");
/** ===========================================
 * Global menu
 * =========================================== */
.global-menu {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  top: 0;
  right: 0;
  z-index: 500;
  width: 100%;
  height: 0;
  padding: 100px 20px 0 20px;
  background: white;
  overflow: scroll;
}

.global-menu__list {
  position: absolute;
  top: 160px;
  left: 50%;
  margin-bottom: 60px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-bottom: #eee solid 1px;
  width: 50%;
  min-width: 360px;
  max-width: 640px;
}

.global-menu__list li a {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
}

.global-menu__list li a::before {
  float: left;
  margin-right: .5em;
  content: '\0bb';
}

.global-menu__list > li {
  border-top: #eee solid 1px;
}

.global-menu__list > li > a:hover {
  padding-left: 1em;
}

.global-menu__list > li > ul > li {
  border-top: #eee dashed 1px;
}

.global-menu__list > li > ul > li > a {
  padding-left: 1em;
}

.global-menu__list > li > ul > li > a:hover {
  padding-left: 2em;
}

.global-menu__list > li > ul > li > ul > li {
  border-top: #ccc dotted 1px;
}

.global-menu__list > li > ul > li > ul > li > a {
  padding-left: 2em;
}

.global-menu__list > li > ul > li > ul > li > a:hover {
  padding-left: 3em;
}

.global-menu__list > li > ul > li > ul > li ul li a {
  padding-left: 3em;
}

.global-menu__list > li > ul > li > ul > li ul li a:hover {
  padding-left: 4em;
}

.open-menu #global-container {
  width: calc(100vw - 15px);
}

.open-menu #global-container .global-menu {
  opacity: 1;
  visibility: visible;
  height: 100vh;
}

.open-menu #global-container .header__menu {
  opacity: 0;
}

.open-menu #global-container .footer__utility {
  width: calc(100vw - 15px);
}

/** ===========================================
 * Button Common
 * =========================================== */
.btn {
  display: inline-block;
  font-weight: 700;
  border: none;
  outline: none;
  border-radius: 3px;
}

.btn.btn-scale:hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.btn.btn-slide {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.btn.btn-slide::before {
  content: '';
  display: inline-block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  z-index: -1;
}

.btn.btn-slide:hover {
  color: #fff;
}

.btn.btn-slide:hover::before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/** ===========================================
 * Global Menu Button
 * =========================================== */
.btn__global-nav {
  background-color: unset;
  border: none;
  outline: none !important;
  cursor: pointer;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px;
}

.btn__global-nav span {
  display: block;
  background-color: #2e2930;
  width: 40px;
  height: 2px;
  margin-bottom: 10px;
  -webkit-transition: -webkit-transform .3s ease-out;
  transition: -webkit-transform .3s ease-out;
  transition: transform .3s ease-out;
  transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

.btn__global-nav span:last-child {
  margin-bottom: 0;
}

.open-menu .btn__global-nav span:nth-child(1) {
  -webkit-transform: translateY(12px) rotate(135deg);
          transform: translateY(12px) rotate(135deg);
}

.open-menu .btn__global-nav span:nth-child(2) {
  -webkit-transform: translateX(-18px) scaleX(0);
          transform: translateX(-18px) scaleX(0);
}

.open-menu .btn__global-nav span:nth-child(3) {
  -webkit-transform: translateY(-12px) rotate(-135deg);
          transform: translateY(-12px) rotate(-135deg);
}

/** -------------------------------------------
 * Widgets
 * ------------------------------------------- */
.fdt-widget {
  width: 90%;
  margin: 0 auto;
}

.widget__list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}

.widget__list .widget {
  width: 100%;
  border: #eee solid 2px;
  border-radius: 5px;
  padding: 10px;
  color: #666;
  margin-bottom: 1em;
}

.widget__list .widget:first-child {
  margin-top: 0;
}

.widget__list .widget .widgettitle {
  border-bottom: #ccc dotted 1px;
  padding-bottom: 7px;
  margin-bottom: 10px;
  color: #2e2930;
  font-weight: 700;
}

.widget__list .widget label {
  margin-right: 10px;
}

.widget__list .widget select {
  width: 70%;
  border: #ccc solid 1px;
  border-radius: 5px;
  color: #999;
}

.widget__list .widget table.wp-calendar-table {
  width: 100%;
  text-align: center;
}

.widget__list .widget table.wp-calendar-table td {
  color: #999;
}

.widget__list .widget table.wp-calendar-table caption {
  text-align: center;
}

.widget__list .widget .wp-calendar-nav {
  padding: 0 10px;
}

/** ===========================================
 * Basis (Under 599px)
 * =========================================== */
*:not(#global-container):not(.footer__utility) {
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

body {
  color: #333;
  font-family: 'Noto Sans JP', sans-serif;
  word-wrap: break-word;
  scroll-behavior: smooth;
}

body.open-menu {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

h1 {
  font-size: 32px;
}

h2 {
  margin-bottom: 1em;
  margin-right: auto;
  margin-left: auto;
  font-size: 24px;
}

a:hover, a:active, button:hover, button:active {
  border: none;
  outline: none;
}

a img:hover, a img:active, button img:hover, button img:active {
  border: none;
  outline: none;
}

a:hover {
  text-decoration: none;
}

a:hover img,
a:hover .no-image {
  -webkit-transform: scale(1.4, 1.4);
          transform: scale(1.4, 1.4);
}

a:active {
  border: none;
  outline: none;
}

ul {
  list-style: none;
  padding-left: 0;
}

address::after, article::after, aside::after, blockquote::after, details::after, dialog::after, dd::after, div::after, dl::after, fieldset::after, figcaption::after, figure::after, footer::after, form::after, h1::after, h2::after, h3::after, h4::after, h5::after, h6::after, header::after, hgroup::after, hr::after, li::after, main::after, nav::after, ol::after, p::after, pre::after, section::after, table::after, ul::after {
  display: block;
  content: "";
  clear: both;
}

.mb-sm {
  margin-bottom: 0.5em;
}

.mb-md {
  margin-bottom: 1em;
}

.mb-lg {
  margin-bottom: 2em;
}

.mb-xl {
  margin-bottom: 3em;
}

.mb-xxl {
  margin-bottom: 5em;
}

.required {
  color: #c1272d;
  font-weight: 700;
}

#wp-admin-bar-root-default::after {
  clear: none;
  clear: initial;
}

#global-container {
  position: relative;
  z-index: 0;
  width: 100%;
}

#container {
  z-index: 100;
  position: relative;
}

.no-image {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: #666;
}

.no-image span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 20px;
  color: #fff;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 80px;
  padding: 20px;
  z-index: 1000;
  background: rgba(255, 255, 255, .9);
  -webkit-box-shadow: 0 1px 10px 1px rgba(0, 0, 0, .2);
          box-shadow: 0 1px 10px 1px rgba(0, 0, 0, .2);
}

.header__logo {
  font-weight: 300;
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  line-height: 1;
  margin: 0;
}

.header__logo a {
  color: #2e2930 !important;
}

.header__logo.sp {
  font-size: 16px;
  font-weight: bold;
}

.header__menu {
  display: none;
}

.header__menu a:hover {
  text-decoration: underline !important;
}

.logged-in .header {
  margin-top: 34px;
}

.footer__utility {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 200;
  width: 100%;
  padding: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #2e2930;
}

.footer__utility::after {
  display: none;
}

.footer__utility__search {
  width: 40%;
  max-width: 240px;
}

.footer__utility .search-form {
  position: relative;
}

.footer__utility .search-form label {
  display: none;
}

.footer__utility .search-form__input {
  width: 100%;
  height: 34px;
  border: none;
  border-radius: 3px;
}

.footer__utility .search-form__submit {
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: none;
  outline: none;
  padding: 0;
  background: rgba(255, 255, 255, 0);
}

.footer__utility__follow__list {
  display: none;
}

.footer__utility__contact {
  width: 40%;
  max-width: 240px;
}

.footer__utility__contact .btn {
  background-color: #c9171e;
  color: white;
  width: 100%;
  padding: 5px 0;
}

.footer__menu {
  display: none;
}

.copyright {
  text-align: center;
  line-height: 1;
  padding: 16px 0 76px 0;
}

.content-width {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}

.breadcrumb {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/** -------------------------------------------
 * Hero
 * ------------------------------------------- */
.hero {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.hero::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/filter_keyvisual01.png);
  opacity: .6;
  z-index: 2;
}

.hero__image, .hero__slide, .hero__youtube, .hero__video {
  width: 100vw;
  height: 100vh;
}

.hero__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  width: 80%;
  max-width: 640px;
  z-index: 3;
}

.hero__inner__catchcopy {
  font-size: 28px;
  font-family: serif;
  color: yellow;
  text-shadow: 2px 1px 5px rgba(0, 0, 0, .9);
}

.hero__inner__btn .btn {
  position: relative;
  width: 240px;
  height: 80px;
  background: #c1272d;
  color: #ffffff;
}

.hero__inner__btn .btn.btn-img {
  background: rgba(255, 255, 255, 0);
}

.hero__inner__btn .btn span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 24px;
  white-space: nowrap;
}

.hero__inner__sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.hero__inner__sns ul li {
  margin: 0 5px;
}

.hero__image img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.hero__slide .swiper-container {
  z-index: 0;
  height: 100%;
}

.hero__slide .swiper-slide {
  height: 100%;
  text-align: center;
}

.hero__slide .swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  height: 100%;
  width: 100%;
}

.hero__youtube {
  position: relative;
}

.hero__youtube .player-youtube {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  border: none;
}

.hero__video {
  position: relative;
}

.hero__video video {
  min-height: 100%;
  min-height: 100vh;
  min-width: 100%;
  min-width: 100vw;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/** -------------------------------------------
 * Home Concept
 * ------------------------------------------- */
.concept-section {
  width: 100%;
  padding: 80px 0;
}

.concept-section__inner {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}

/** -------------------------------------------
 * Home Value
 * ------------------------------------------- */
.value-section {
  width: 100%;
  padding: 0 auto 20px auto;
}

.value-section h2 {
  width: 90%;
  max-width: 800px;
  margin: 0 auto 2em auto;
}

.value__list {
  margin-bottom: 0;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.value__list__description {
  width: 90%;
  max-width: 800px;
  margin-right: auto;
  margin-bottom: 60px;
  margin-left: auto;
}

.value__list .value__item {
  position: relative;
  margin-top: 20px;
}

.value__list .value__item:last-child {
  padding-bottom: 0;
}

.value__list .value__item a {
  display: block;
  margin: 0 auto;
}

.value__list .value__item__img {
  height: 24vh;
  overflow: hidden;
}

.value__list .value__item__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.value__list .value__item__summary {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 10px;
}

.value__list .value__item__title {
  font-size: 24px;
  margin-bottom: 0.5em;
}

.value__list .value__item__excerpt p {
  margin-bottom: 0;
  font-size: 110%;
}

.value__list.sb .value__item__summary {
  height: 100%;
  width: 50%;
  background-color: rgba(255, 255, 255, .2);
  top: 0;
  right: 0;
  bottom: auto;
  bottom: initial;
  left: auto;
  left: initial;
}

.value__list.sb .value__item:nth-child(even) .value__item__summary {
  right: auto;
  right: initial;
  left: 0;
}

.value__list.sc .value__item {
  overflow: hidden;
  border-radius: 5px;
  border: rgba(255, 255, 255, .3) solid 10px;
}

.value__list.sc .value__item__img {
  background-color: #ccc;
}

.value__list.sc .value__item__summary {
  padding: 20px;
  background-color: rgba(255, 255, 255, .9);
}

.value__list.sc .value__item__summary a {
  font-weight: bold;
  color: #000 !important;
}

.value__list.sc .value__item__title {
  margin-bottom: 0;
}

/** -------------------------------------------
 * Home Article list
 * ------------------------------------------- */
.article-section {
  width: 90%;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 80px;
  padding-bottom: 80px;
}

.article-section h2 {
  max-width: 800px;
  margin: 0 auto 2em auto;
}

.article__list__h2 {
  text-align: center;
  font-size: 32px;
}

.article__list .article__item {
  margin-bottom: 2em;
}

.article__list .article__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.article__list .article__item__img {
  width: 49%;
  height: 15vh;
  overflow: hidden;
  border-radius: 3px;
}

.article__list .article__item__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.article__list .article__item__summary {
  width: 49%;
}

.article__list .article__item__title {
  font-size: 20px;
  margin-bottom: 0.5em;
}

.article__list .article__item__meta {
  font-size: 14px;
  margin-bottom: 0.5em;
}

.article__list .article__item__excerpt {
  font-size: 110%;
}

.article__list.sb .article__item {
  border: #eee solid 3px;
}

.article__list.sb .article__item a {
  display: block;
}

.article__list.sb .article__item__img {
  border-radius: 0;
  width: 100%;
}

.article__list.sb .article__item__summary {
  width: 100%;
  padding: 10px;
}

.article__list.sb .article__item__title {
  border-bottom: #eee solid 1px;
}

.article__list.sc .article__item {
  position: relative;
  background-color: #eee;
}

.article__list.sc .article__item a {
  display: block;
}

.article__list.sc .article__item__img {
  width: 100%;
  border-radius: 0;
  border: #ddd solid 1px;
}

.article__list.sc .article__item__summary {
  width: 100%;
  padding: 10px;
}

.article__list.sc .article__item__title {
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px;
  width: 100%;
}

.article__list__btn {
  padding-top: 20px;
  text-align: center;
}

.article__list__btn .btn {
  line-height: 1;
  padding: 10px 20px;
  font-size: 14px;
}

.article__list__btn .page-numbers {
  border: #ccc solid 1px;
  border-radius: 3px;
  line-height: 1;
  text-align: center;
  padding: 2px 7px;
  font-size: 14px;
  margin: 0 5px;
  background-color: #fff;
  color: #000;
}

.article__list__btn .page-numbers.current {
  background-color: #999;
  color: #fff;
}

.article__list__btn .page-numbers.prev, .article__list__btn .page-numbers.next {
  border: none;
  padding: 0;
}

/** -------------------------------------------
 * CTA Section
 * ------------------------------------------- */
.cta-section {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 60px;
  max-width: 800px;
}

.cta-section.single {
  max-width: 640px;
}

/** -------------------------------------------
 * Article
 * ------------------------------------------- */
.article {
  padding-top: 80px;
}

.article__title, .article__sns, .article__meta, .article__main,
.article .author-meta {
  width: 90%;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}

.article__title {
  margin: 2em auto;
  font-size: 32px;
}

.article__sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.article__sns ul li {
  margin-right: 10px;
}

.article__thumbnail {
  width: 100%;
  height: 30vh;
  overflow: hidden;
  margin-bottom: 2em;
}

.article__thumbnail img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.article__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.article__publish {
  position: relative;
  padding-left: 24px;
  margin-right: 1em;
  margin-bottom: 5px;
}

.article__publish::before {
  content: url(../img/icon_publish.svg);
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 18px;
}

.article__update {
  position: relative;
  padding-left: 24px;
  margin-right: 1em;
}

.article__update::before {
  content: url(../img/icon_update.svg);
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 18px;
}

.article__category {
  position: relative;
  padding-left: 20px;
  margin-right: 1em;
}

.article__category::before {
  content: url(../img/icon_category.svg);
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 18px;
}

.article__tags {
  position: relative;
  padding-left: 18px;
}

.article__tags::before {
  content: url(../img/icon_tags.svg);
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 18px;
}

.article .author-meta {
  width: 90%;
  margin: 30px auto 60px auto;
  text-align: right;
}

.article__main .toc {
  line-height: 2;
  margin-bottom: 2em;
  border: #cccccc solid 2px;
  border-radius: 5px;
  padding: 20px;
}

.article__main .toc h2 {
  font-size: 24px;
  line-height: 1;
}

.article__main .toc ul {
  margin-bottom: 0;
  padding-left: 1.5em;
}

.article__main .toc > ul {
  list-style-type: disc;
}

.article__main .toc > ul li > ul {
  list-style-type: circle;
}

.article__main .toc > ul li > ul li > ul {
  list-style-type: square;
}

.article__main .toc > ul li > ul li > ul li > ul {
  list-style-type: disc;
}

.article__main .toc > ul li > ul li > ul li > ul li > ul {
  list-style-type: circle;
}

.article__main h2 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 1em !important;
  border-bottom: #999 solid 3px;
  padding: .5em 0;
}

.article__main h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 1em;
  padding: .5em 0;
  border-bottom: #999 dotted 2px;
}

.article__main h4 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 1em;
  padding: .5em 0;
  border-bottom: #ccc solid 1px;
}

.article__main h5 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 1em;
  padding: .5em 0;
}

.article__main h6 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1em;
  padding: .5em 0;
}

.article__main strong {
  font-size: 105%;
  font-weight: bold;
}

.article__main em {
  font-style: italic;
}

.article__main .has-white-color {
  color: #ffffff;
}

.article__main .has-black-color {
  color: #000000;
}

.article__main .has-crimson-color {
  color: crimson;
}

.article__main .has-dodgerblue-color {
  color: dodgerblue;
}

.article__main table {
  table-layout: fixed;
}

.article__main ul li {
  list-style-type: disc;
  margin-left: 1.5em;
}

.article.contact {
  padding-bottom: 120px;
}

/** -------------------------------------------
 * Contact
 * ------------------------------------------- */
.contact__title, .contact__content, .contact__body {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  max-width: 640px;
}

.contact__title {
  font-size: 28px;
  margin: 2em auto;
}

.contact__content {
  margin-bottom: 3em;
}

.contact__item {
  padding: 20px;
  border: #ccc solid 2px;
  border-radius: 5px;
  margin-bottom: 2em;
}

.contact__item span {
  display: block;
}

.contact__item > label {
  display: inline-block;
  margin-bottom: 0;
}

.contact__item__label {
  font-weight: 700;
  color: #666;
}

.contact__item__input input,
.contact__item__input select,
.contact__item__input textarea {
  border: solid 1px #ccc;
  border-radius: 3px;
  background-color: #fff;
}

.contact__item__input input:focus,
.contact__item__input select:focus,
.contact__item__input textarea:focus {
  background-color: #beccfa;
  color: #fff;
}

.contact__item__input input[type=text],
.contact__item__input input[type=email],
.contact__item__input select,
.contact__item__input textarea {
  width: 100%;
  font-size: 16px;
  padding: 3px 10px;
}

.contact__item input[type=checkbox] {
  margin-right: 5px;
}

.contact__btn .btn {
  padding: 10px 0;
  width: 100%;
  background-color: #c9171e;
  color: #fff;
}

/** -------------------------------------------
 * Related post
 * ------------------------------------------- */
.related-posts {
  width: 90%;
  max-width: 640px;
  margin: 0 auto 60px auto;
}

.related-posts__title, .comments__title {
  padding: 10px;
  background-color: #666;
  color: #fff;
  border-radius: 3px;
  margin-bottom: 2em;
  line-height: 1;
}

.related-post__list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}

.related-post__item {
  width: 32%;
  border: #eee solid 1px;
  border-radius: 5px;
  margin-left: 2%;
  padding: 10px;
}

.related-post__item:first-child {
  margin-left: 0;
}

.related-post__img {
  overflow: hidden;
  height: 10vh;
  margin-bottom: 0.5em;
}

.related-post__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.related-post__img .no-image span {
  font-size: 14px;
}

.related-post__title {
  font-size: 14px;
}

/** -------------------------------------------
 * Comments
 * ------------------------------------------- */
.comments__title {
  width: 90%;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}

.comments__list {
  width: 90%;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}

.comments__list > li {
  margin-bottom: 2em;
  border-right: #ccc solid 1px;
  border-bottom: #ccc solid 1px;
}

.comments__list .comment {
  border-top: #ccc solid 1px;
  border-left: #ccc solid 1px;
  border-radius: 5px 0 0 0;
  overflow: hidden;
}

.comments__list .comment.even {
  background-color: #fff;
}

.comments__list .comment.odd {
  background-color: #f5f5f5;
}

.comments__list .comment .children {
  padding-left: 15px;
}

.comments__list .comment-body {
  padding: 20px;
}

.comments__list .comment-body .comment-meta,
.comments__list .comment-body .comment-author {
  margin-bottom: 10px;
}

.comments__list .comment-body .reply {
  position: relative;
  height: 30px;
}

.comments__list .comment-body .reply a {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  padding: 7px 10px;
  background-color: #999999;
  color: white;
  line-height: 1;
  border-radius: 3px;
  font-size: 14px;
  line-height: 1;
}

.comment-respond__inner {
  width: 90%;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}

.comment-respond label {
  display: inline-block;
  font-weight: 700;
}

.comment-respond input,
.comment-respond textarea {
  display: block;
  width: 100%;
  margin-bottom: 1em;
  border: #cccccc solid 1px;
  background-color: #eee;
  border-radius: 5px;
  padding: 5px;
}

.comment-respond .comment-form-cookies-consent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.comment-respond .comment-form-cookies-consent input[type=checkbox] {
  width: auto;
  width: initial;
  display: inline-block;
  margin-right: .5em;
}

.comment-respond .comment-form-cookies-consent label {
  font-size: 14px;
}

.comment-respond .submit {
  background-color: #3650a3;
  color: #fff;
  padding: 10px;
  border: none;
  margin-top: 2em;
}

.comment-reply-title {
  padding: 10px;
  border-radius: 5px;
  border: #ccc solid 1px;
  margin-bottom: 1em;
  line-height: 1;
}

/** -------------------------------------------
 * Archive
 * ------------------------------------------- */
.archive__container {
  padding: 80px 0;
}

.archive__title {
  width: 90%;
  max-width: 640px;
  margin: 2em auto;
}

.archive-section {
  width: 90%;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

.archive-section.sb, .archive-section.sc {
  max-width: none;
  max-width: initial;
}

.archive__list .article__item {
  margin-bottom: 2em;
}

.archive__list .article__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.archive__list .article__item__img {
  width: 49%;
  height: 20vh;
  overflow: hidden;
}

.archive__list .article__item__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.archive__list .article__item__summary {
  width: 49%;
}

.archive__list .article__item__title {
  margin-bottom: 0.5em;
  font-size: 20px;
}

.archive__list.sb .article__item {
  border: #eee solid 3px;
}

.archive__list.sb .article__item a {
  display: block;
}

.archive__list.sb .article__item__img {
  border-radius: 0;
  width: 100%;
}

.archive__list.sb .article__item__summary {
  width: 100%;
  padding: 10px;
}

.archive__list.sb .article__item__title {
  border-bottom: #eee solid 1px;
}

.archive__list.sc .article__item {
  position: relative;
  background-color: #eee;
}

.archive__list.sc .article__item a {
  display: block;
}

.archive__list.sc .article__item__img {
  width: 100%;
  border-radius: 0;
}

.archive__list.sc .article__item__summary {
  width: 100%;
  padding: 10px;
}

.archive__list.sc .article__item__title {
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px;
  width: 100%;
}

@media screen and (min-width: 600px) {
  .widget__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .widget__list .widget {
    width: 49%;
  }
  .widget__list .widget select {
    width: 60%;
  }
  .widget__list::after {
    display: none;
  }
  /** ===========================================
 * min-width 600px
 * =========================================== */
  .no-image span {
    font-size: 24px;
  }
  /** -------------------------------------------
 * Home Value
 * ------------------------------------------- */
  .value__list .value__item__img {
    height: 24vh;
  }
  /** -------------------------------------------
 * Home Article
 * ------------------------------------------- */
  .article__list .article__item__title {
    font-size: 24px;
  }
  .article__list.sb, .article__list.sc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .article__list.sb .article__item, .article__list.sc .article__item {
    -ms-flex-preferred-size: 48%;
        flex-basis: 48%;
  }
  .article__list.sb .article__item__title, .article__list.sc .article__item__title {
    font-size: 20px;
  }
  /** -------------------------------------------
 * Article
 * ------------------------------------------- */
  .article__thumbnail {
    height: 40vh;
  }
  /** -------------------------------------------
 * Archive
 * ------------------------------------------- */
  .archive__list.sb, .archive__list.sc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .archive__list.sb .article__item, .archive__list.sc .article__item {
    -ms-flex-preferred-size: 48%;
        flex-basis: 48%;
  }
  .archive__list.sb .article__item__title, .archive__list.sc .article__item__title {
    font-size: 20px;
  }
  .archive__list.sb::after, .archive__list.sc::after {
    content: none;
  }
  /** -------------------------------------------
 * Related post
 * ------------------------------------------- */
  .related-post__img {
    height: 14vh;
  }
}

@media screen and (min-width: 1025px) {
  .widget__list .widget {
    width: 24%;
  }
  .widget__list::after {
    content: "";
    display: block;
    width: 24%;
  }
  /** ===========================================
 * min-width 1025px
 * =========================================== */
  .header__menu {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    padding-left: 0;
    top: 50%;
    right: 7%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 300;
    font-size: 14px;
  }
  .header__menu li {
    margin-left: 2em;
  }
  .header__menu li:first-child {
    margin-left: 0;
  }
  .footer__utility__follow__list {
    list-style: none;
    padding-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
  }
  .footer__utility__follow__list li {
    margin: 0 5px;
  }
  .footer__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 16px 0 60px 0;
    border-top: #ccc dotted 1px;
  }
  .footer__menu li {
    margin-left: 2em;
  }
  .footer__menu li:first-child {
    margin-left: 0;
  }
  .no-image span {
    font-size: 28px;
  }
  /** -------------------------------------------
 * Home Hero
 * ------------------------------------------- */
  .hero__inner__catchcopy {
    font-size: 32px;
  }
  /** -------------------------------------------
 * Home Value
 * ------------------------------------------- */
  .value-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .value__list::after {
    content: none;
  }
  .value__list .value__item {
    margin: 0 20px;
  }
  .value__list .value__item__img {
    height: 30vh;
  }
  .value__list.sc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .value__list.sc .value__item {
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
  }
  /** -------------------------------------------
 * Home Article
 * ------------------------------------------- */
  .article__list .article__item__img {
    height: 20vh;
  }
  .article__list .article__item__meta {
    margin-bottom: 0.5em;
  }
  .article__list .article__item__title {
    font-size: 24px;
  }
  .article__list.sb .article__item, .article__list.sc .article__item {
    -ms-flex-preferred-size: 32%;
        flex-basis: 32%;
  }
  .article__list.sb::after, .article__list.sc::after {
    content: "";
    display: block;
    width: 32%;
  }
  /** -------------------------------------------
 * Article
 * ------------------------------------------- */
  .article__thumbnail {
    height: 50vh;
    min-height: 640px;
    max-height: 427px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
  /** -------------------------------------------
 * Archive
 * ------------------------------------------- */
  .archive__list.sb .article__item, .archive__list.sc .article__item {
    -ms-flex-preferred-size: 32%;
        flex-basis: 32%;
  }
  .archive__list.sb::after, .archive__list.sc::after {
    content: "";
    display: block;
    width: 32%;
  }
}

/*# sourceMappingURL=maps/style.css.map */
