@charset "UTF-8";
body {
  color: #262A32;
  background-color: #ffffff;
  font-size: 16px;
  line-height: 1.75;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  word-wrap: break-word; }

a {
  transition: .3s; }

a:hover {
  opacity: 0.7; }

.inner {
  max-width: 1036px;
  margin: 0 auto;
  padding: 0rem 0 0rem 0;
  position: relative; }

@media (max-width: 1100px) {
  .inner {
    max-width: 728px; } }

@media (max-width: 768px) {
  .inner {
    max-width: none;
    width: 90%; } }

/*------------
    COMMON
------------*/
.mainHeader {
  z-index: 100;
  position: relative; }
  .mainHeader .header__wrap {
    width: auto;
    height: calc(240px - 4rem);
    margin: 0 auto;
    padding: 2rem 0;
    display: flex;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
    background-color: #707070;
    background-image: url(../img/header.jpg);
    background-position: center;
    background-size: cover; }
  .mainHeader .header__title {
    font-size: 40px;
    line-height: 1.25;
    font-weight: bold;
    text-align: center;
    -webkit-text-shadow: 0px 0px 8px #1e1e1e, 0px 0px 16px #1e1e1e, 0px 0px 20px #1e1e1e, 0px 0px 24px #1e1e1e;
    text-shadow: 0px 0px 8px #1e1e1e, 0px 0px 16px #1e1e1e, 0px 0px 20px #1e1e1e, 0px 0px 24px #1e1e1e; }
    .mainHeader .header__title a {
      text-decoration: none; }
  .mainHeader .header__description {
    color: #ffffff;
    margin-top: 0.5rem;
    text-align: center;
    -webkit-text-shadow: 0px 0px 2px #1e1e1e, 0px 0px 8px #1e1e1e, 0px 0px 12px #1e1e1e;
    text-shadow: 0px 0px 2px #1e1e1e, 0px 0px 8px #1e1e1e, 0px 0px 12px #1e1e1e; }

.navi__wrap {
  position: absolute;
  width: 100%; }
  .navi__wrap.fixed {
    position: fixed;
    top: 0; }
  .navi__wrap .navi__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .navi__wrap .navi__list li {
      width: auto;
      line-height: 60px;
      display: block;
      margin: 0 1rem;
      font-weight: bold;
      word-break: break-all; }
      .navi__wrap .navi__list li a {
        text-decoration: none; }

#nav_toggle {
  display: none; }

@media screen and (max-width: 768px) {
  nav {
    display: none;
    position: relative;
    width: 100%;
    left: 0; }
  .navi__wrap .navi__list {
    display: block;
    width: 100%; }
  .navi__wrap .navi__list li {
    line-height: 56px;
    text-align: center;
    border-top: 1px solid #CCCCCC; }
    .navi__wrap .navi__list li a {
      display: block; }
  #nav_toggle {
    display: block;
    width: 32px;
    height: 32px;
    margin: 0 auto;
    padding: 16px 0 12px;
    position: relative;
    z-index: 1000;
    cursor: pointer; }
  #nav_toggle div {
    position: relative; }
  #nav_toggle span {
    display: block;
    height: 3px;
    position: absolute;
    width: 100%;
    left: 0;
    transition: 0.5s ease-in-out; }
  #nav_toggle span:nth-child(1) {
    top: 0px; }
  #nav_toggle span:nth-child(2) {
    top: 11px; }
  #nav_toggle span:nth-child(3) {
    top: 22px; }
  .open #nav_toggle span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); }
  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%; }
  .open #nav_toggle span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg); } }

.contents {
  display: flex;
  margin-top: 60px; }

@media (max-width: 768px) {
  .contents {
    display: block; } }

.main {
  width: 684px;
  padding: 40px 0 60px;
  margin-right: 32px; }

@media (max-width: 1100px) {
  .main {
    width: 450px;
    margin-right: 20px; } }

@media (max-width: 768px) {
  .main {
    width: 100%;
    margin-right: 0;
    padding-bottom: 40px; } }

aside {
  width: 322px; }
  aside a {
    color: #262A32;
    text-decoration: none; }

.sidebarWrap {
  padding: 40px 0; }

.sidebar__module {
  width: auto;
  margin-bottom: 20px;
  padding: 32px; }
  .sidebar__module .sidebar__label {
    font-size: 1.25rem;
    line-height: 1.25;
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 16px;
    margin-bottom: 16px;
    font-weight: bold; }
  .sidebar__module ul li, .sidebar__module ol li {
    line-height: 1.25;
    margin-bottom: 1rem; }
    .sidebar__module ul li:last-child, .sidebar__module ol li:last-child {
      margin-bottom: 0; }
  .sidebar__module dl {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #CCCCCC; }
    .sidebar__module dl:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border: 0px; }
  .sidebar__module dl dt {
    font-weight: bold;
    margin-bottom: 1rem;
    line-height: 1.25; }
  .sidebar__module dl dd:last-child {
    margin-bottom: 0; }

.sidebar__ranking li {
  left: 32px;
  width: auto;
  display: block;
  position: relative;
  margin-right: 32px; }
  .sidebar__ranking li::before {
    content: "";
    width: 32px;
    height: 32px;
    position: absolute;
    top: -2px;
    left: -32px;
    display: block;
    background-size: 24px;
    background-repeat: no-repeat; }

.sidebar__ranking li:nth-child(1):before {
  background-image: url(../img/ranking_icon01.png); }

.sidebar__ranking li:nth-child(2):before {
  background-image: url(../img/ranking_icon02.png); }

.sidebar__ranking li:nth-child(3):before {
  background-image: url(../img/ranking_icon03.png); }

.sidebar__ranking li:nth-child(4):before {
  background-image: url(../img/ranking_icon04.png); }

.sidebar__ranking li:nth-child(5):before {
  background-image: url(../img/ranking_icon05.png); }

.sidebar__ranking li:nth-child(6):before {
  background-image: url(../img/ranking_icon06.png); }

.sidebar__ranking li:nth-child(7):before {
  background-image: url(../img/ranking_icon07.png); }

.sidebar__ranking li:nth-child(8):before {
  background-image: url(../img/ranking_icon08.png); }

.sidebar__ranking li:nth-child(9):before {
  background-image: url(../img/ranking_icon09.png); }

.sidebar__ranking li:nth-child(10):before {
  background-image: url(../img/ranking_icon10.png); }

.sidebar__comment li {
  left: 28px;
  width: auto;
  margin-right: 28px;
  display: block;
  position: relative; }
  .sidebar__comment li:before {
    content: "\f075";
    font-family: "Font Awesome 5 Free";
    font-size: 1.25rem;
    line-height: 1rem;
    font-weight: bold;
    width: 20px;
    height: 16px;
    position: absolute;
    top: 4px;
    left: -28px;
    display: block; }

.sidebar__category li, .sidebar__archive li {
  left: 16px;
  width: auto;
  display: block;
  position: relative;
  margin-right: 16px; }
  .sidebar__category li:before, .sidebar__archive li:before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-size: 1.25rem;
    line-height: 1rem;
    font-weight: bold;
    width: 20px;
    height: 16px;
    position: absolute;
    top: 4px;
    left: -16px;
    display: block; }

.sidebar__profile .profile__images {
  width: 160px;
  height: 160px;
  margin: 0 auto;
  display: block;
  margin-bottom: 20px;
  background-image: url(../img/profile_images.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto; }

.sidebar__profile .profile__name {
  margin-bottom: 0.5rem; }
  .sidebar__profile .profile__name::before {
    content: "\f007";
    font-family: "Font Awesome 5 Free";
    font-size: 1.5rem;
    line-height: 1rem;
    margin-right: 8px; }

.sidebar__profile .profile__text {
  font-size: 12px; }

.sidebar__feed .sidebar__label {
  font-size: 1rem;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0; }
  .sidebar__feed .sidebar__label::before {
    content: "\f09e";
    font-family: "Font Awesome 5 Free";
    margin-right: 0.5rem; }
  .sidebar__feed .sidebar__label a {
    color: #707070; }

.sidebar__neighbor .neighbor__titleList dt {
  left: 24px;
  width: auto;
  line-height: 1.25;
  display: block;
  position: relative;
  margin-right: 24px; }
  .sidebar__neighbor .neighbor__titleList dt:before {
    content: "\f15c";
    font-family: "Font Awesome 5 Free";
    font-size: 1.25rem;
    line-height: 1rem;
    font-weight: bold;
    width: 20px;
    height: 16px;
    position: absolute;
    top: 4px;
    left: -24px;
    display: block; }

.sidebar__neighbor .neighbor__titleList dd {
  font-size: 0.75rem;
  line-height: 1.25;
  margin-left: 24px;
  margin-bottom: 0.5rem;
  display: list-item;
  list-style: disc; }

.sidebar__module.sidebar__copy {
  padding: 0 0 20px;
  margin: 0; }
  .sidebar__module.sidebar__copy .sidebar__label {
    font-size: 1rem;
    font-weight: normal;
    text-decoration: underline;
    text-align: center;
    padding: 0;
    margin: 0;
    border: 0; }

@media (max-width: 1100px) {
  aside {
    width: 260px; }
  .sidebar__module {
    padding: 20px 16px;
    width: auto; }
    .sidebar__module .sidebar__label {
      padding-bottom: 12px; }
  .sidebar__feed .sidebar__label {
    padding-bottom: 0; } }

@media (max-width: 768px) {
  aside {
    width: auto; }
  .sidebarWrap {
    padding: 0;
    display: block; } }

.mainFooter {
  padding: 20px 0; }
  .mainFooter .footer__themename {
    text-align: center; }
    .mainFooter .footer__themename .themename__heading {
      margin-right: 0.5rem; }
      .mainFooter .footer__themename .themename__heading:after {
        content: ":";
        margin-left: 0.5rem; }

/*------------
    INDEX
------------*/
.article {
  width: 620px;
  padding: 32px;
  margin-bottom: 20px;
  background-color: #ffffff; }
  .article .article__title {
    font-size: 1.75rem;
    line-height: 1.25;
    margin-bottom: 4px;
    font-weight: bold; }
    .article .article__title a {
      color: #262A32;
      text-decoration: none; }
  .article .article__dateWrap {
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 20px;
    margin-bottom: 20px; }
  .article .article__date {
    margin-right: 0.5rem;
    color: #707070; }
  .article .article__thumbnail {
    width: 620px;
    height: auto;
    text-align: center;
    margin-bottom: 20px; }
    .article .article__thumbnail:hover {
      opacity: 0.7;
      transition: .3s; }
    .article .article__thumbnail img {
      max-width: 620px;
      height: auto; }
  .article .article__text {
    margin-bottom: 20px; }
  .article .article__footer::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    margin-right: 0.25rem;
    line-height: 16px;
    font-weight: bold;
    color: #365F87; }

.footerNavi {
  width: 100%;
  margin-top: 20px;
  display: block; }
  .footerNavi ul {
    display: flex;
    justify-content: space-between; }
    .footerNavi ul .footerNavi__prev:before {
      content: "\f0d9";
      font-weight: bold;
      font-family: "Font Awesome 5 Free";
      color: #365F87;
      margin-right: 0.5rem; }
    .footerNavi ul .footerNavi__next:after {
      content: "\f0da";
      font-weight: bold;
      font-family: "Font Awesome 5 Free";
      color: #365F87;
      margin-left: 0.5rem; }
    .footerNavi ul a {
      text-decoration: none; }
    .footerNavi ul i {
      margin: 0 0.25rem; }

@media (max-width: 1100px) {
  .article {
    width: auto;
    padding: 20px 16px;
    margin-right: 0; }
    .article .article__thumbnail {
      width: 100%;
      height: auto;
      margin-bottom: 8px; }
      .article .article__thumbnail img {
        max-width: 100%;
        height: auto; } }

/*------------------------
    ENTRY,WEBPAGE
------------------------*/
.entryWrap, .webpageWrap {
  background-color: #ffffff;
  padding: 32px 32px 40px 32px; }
  .entryWrap .entryHeader, .entryWrap .webpageHeader, .webpageWrap .entryHeader, .webpageWrap .webpageHeader {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #CCCCCC; }
  .entryWrap .entry__title, .entryWrap .webpage__title, .webpageWrap .entry__title, .webpageWrap .webpage__title {
    margin-bottom: 0;
    border-bottom: 0;
    padding-bottom: 0; }
  .entryWrap .entry__date, .webpageWrap .entry__date {
    color: #707070;
    display: inline-block;
    padding-right: 0.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0; }
  .entryWrap .entry__category, .webpageWrap .entry__category {
    display: inline-block;
    margin-bottom: 0;
    margin-top: 0.5rem; }
  .entryWrap .entry__more, .webpageWrap .entry__more {
    margin: 20px 0 0; }
  .entryWrap section *:last-child, .webpageWrap section *:last-child {
    margin-bottom: 0; }

.entryFooter, .webpageFooter {
  max-width: 620px;
  border-top: 1px solid #CCCCCC;
  padding-top: 20px;
  margin: 20px 0 0 auto; }
  .entryFooter .entryFooter__date, .webpageFooter .entryFooter__date {
    font-size: 0.75rem;
    color: #707070; }
    .entryFooter .entryFooter__date:after, .webpageFooter .entryFooter__date:after {
      content: " ";
      display: block;
      clear: both; }
    .entryFooter .entryFooter__date li, .webpageFooter .entryFooter__date li {
      margin-right: 0.5rem;
      float: left; }
    .entryFooter .entryFooter__date a, .webpageFooter .entryFooter__date a {
      color: #707070; }
    .entryFooter .entryFooter__date .date__author, .webpageFooter .entryFooter__date .date__author {
      margin-right: 1rem; }
      .entryFooter .entryFooter__date .date__author .author__hedding:after, .webpageFooter .entryFooter__date .date__author .author__hedding:after {
        content: "："; }
  .entryFooter .entryFooter__info:after, .webpageFooter .entryFooter__info:after {
    content: " ";
    display: block;
    clear: both; }
  .entryFooter .entryFooter__info li, .webpageFooter .entryFooter__info li {
    float: left;
    margin-right: 1rem; }
  .entryFooter .entryFooter__info .comment, .webpageFooter .entryFooter__info .comment {
    color: #365F87; }
    .entryFooter .entryFooter__info .comment__hedding:after, .webpageFooter .entryFooter__info .comment__hedding:after {
      content: "："; }
  .entryFooter .entryFooter__sns, .entryFooter .webpageFooter__sns, .webpageFooter .entryFooter__sns, .webpageFooter .webpageFooter__sns {
    margin-top: 20px;
    text-align: center;
    margin-left: 0;
    margin-bottom: 0; }
    .entryFooter .entryFooter__sns li, .entryFooter .webpageFooter__sns li, .webpageFooter .entryFooter__sns li, .webpageFooter .webpageFooter__sns li {
      display: inline-block;
      margin: 0 6px; }
      .entryFooter .entryFooter__sns li::before, .entryFooter .webpageFooter__sns li::before, .webpageFooter .entryFooter__sns li::before, .webpageFooter .webpageFooter__sns li::before {
        display: none; }
    .entryFooter .entryFooter__sns li a, .entryFooter .webpageFooter__sns li a, .webpageFooter .entryFooter__sns li a, .webpageFooter .webpageFooter__sns li a {
      width: 36px;
      height: 36px;
      display: block;
      border-radius: 4px; }
    .entryFooter .entryFooter__sns li i, .entryFooter .webpageFooter__sns li i, .webpageFooter .entryFooter__sns li i, .webpageFooter .webpageFooter__sns li i {
      font-size: 20px;
      line-height: 36px;
      color: #ffffff; }
    .entryFooter .entryFooter__sns li .sns__twitter, .entryFooter .webpageFooter__sns li .sns__twitter, .webpageFooter .entryFooter__sns li .sns__twitter, .webpageFooter .webpageFooter__sns li .sns__twitter {
      background-color: #55acee; }
    .entryFooter .entryFooter__sns li .sns__fb, .entryFooter .webpageFooter__sns li .sns__fb, .webpageFooter .entryFooter__sns li .sns__fb, .webpageFooter .webpageFooter__sns li .sns__fb {
      background-color: #315096; }
    .entryFooter .entryFooter__sns li .sns__pocket, .entryFooter .webpageFooter__sns li .sns__pocket, .webpageFooter .entryFooter__sns li .sns__pocket, .webpageFooter .webpageFooter__sns li .sns__pocket {
      background-color: #EB4459; }
  .entryFooter .webpageFooter__sns, .webpageFooter .webpageFooter__sns {
    margin-top: 0; }

.comment__module {
  max-width: 620px;
  background-color: #ffffff;
  padding: 32px;
  margin-top: 20px; }
  .comment__module .comment__label {
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: bold;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #CCCCCC; }

.entryComment .entryComment__name {
  color: #365F87;
  font-weight: bold; }
  .entryComment .entryComment__name::before {
    content: "\f007";
    font-family: "Font Awesome 5 Free";
    margin-right: 8px;
    color: #707070; }

.entryComment .entryComment__date {
  font-size: 12px;
  color: #707070; }

.entryComment .entryComment__body {
  margin-top: 16px; }

.entryComment ol li {
  margin: 0 auto 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #CCCCCC; }
  .entryComment ol li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0; }

.entryPost ul li {
  margin-bottom: 20px; }

.entryPost ul li input {
  height: 1.25rem; }

.entryPost input {
  width: 100%; }

.entryPost .input__checkbox {
  display: none; }
  .entryPost .input__checkbox + span {
    padding-left: 28px;
    position: relative;
    margin-right: 20px; }
  .entryPost .input__checkbox + span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: #707070; }
  .entryPost .input__checkbox:checked + span::after {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    left: 5px;
    width: 6px;
    height: 14px;
    -webkit-transform: rotate(40deg);
            transform: rotate(40deg);
    border-bottom: 3px solid #ffffff;
    border-right: 3px solid #ffffff; }

.entryPost textarea {
  width: 100%;
  border: 1px solid #CCCCCC; }

.entryPost input[type="button"], .entryPost input[type="submit"] {
  width: 80px;
  height: 36px;
  font-size: 1rem;
  line-height: 36px;
  text-align: center;
  background-color: #365F87;
  color: #ffffff;
  border: 0px;
  margin: 0 4px; }

@media (max-width: 1100px) {
  .entryWrap, .webpageWrap, .entryComment, .entryPost {
    padding: 20px 16px 40px; } }

/*------------
    ARCHIVES
------------*/
.archives__title {
  font-size: 1.5rem;
  line-height: 1.25;
  color: #707070;
  margin-bottom: 20px; }

/*------------
    WYSIWYG
------------*/
.wysiwyg h1 {
  font-size: 1.75rem;
  line-height: 1.25;
  font-weight: bold;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #CCCCCC; }

.wysiwyg h2 {
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: bold;
  margin-bottom: 1rem;
  left: 1.5rem;
  position: relative; }
  .wysiwyg h2::before {
    width: 1.5rem;
    display: block;
    content: "●";
    font-size: 1rem;
    position: absolute;
    top: 6px;
    left: -1.5rem;
    margin-right: 0.5rem;
    color: #365F87; }

.wysiwyg h3 {
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: normal;
  color: #365F87;
  margin-bottom: 0.75rem; }

.wysiwyg h4 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  line-height: 1.25;
  font-weight: bold; }
  .wysiwyg h4:before {
    content: "・"; }

.wysiwyg h5 {
  font-weight: bold;
  color: #707070;
  line-height: 1.25;
  margin-bottom: 0.5rem; }

.wysiwyg p {
  margin-bottom: 20px; }

.wysiwyg strong {
  font-weight: bold; }

.wysiwyg em {
  font-style: italic; }

.wysiwyg img {
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem; }

.wysiwyg hr {
  height: 0px;
  margin: 20px 0;
  border: none;
  border-top: 1px solid #CCCCCC; }

.wysiwyg .underline {
  text-decoration: underline; }

.wysiwyg .linethrough {
  text-decoration: line-through; }

.wysiwyg blockquote {
  margin-bottom: 2rem;
  padding-left: 20px;
  color: #707070;
  display: block;
  position: relative; }
  .wysiwyg blockquote::before {
    content: "";
    display: block;
    width: 4px;
    height: 100%;
    top: 0px;
    left: 0;
    background-color: #CCCCCC;
    position: absolute; }

.wysiwyg ul {
  margin-bottom: 20px;
  margin-left: 1rem; }
  .wysiwyg ul li {
    margin-right: 1rem;
    position: relative; }
    .wysiwyg ul li::before {
      content: "●";
      position: absolute;
      font-size: 8px;
      left: -1rem;
      top: 6px;
      color: #CCCCCC;
      margin-right: 0.5rem; }

.wysiwyg ol {
  margin-bottom: 20px;
  margin-left: 1rem; }
  .wysiwyg ol li {
    list-style: decimal; }

@media (max-width: 768px) {
  .wysiwyg h1 {
    font-size: 1.5rem; }
  .wysiwyg h2 {
    font-size: 1.25rem; }
    .wysiwyg h2::before {
      width: 1.25rem;
      font-size: 0.75rem;
      top: 4px;
      left: -1.25rem; }
  .wysiwyg h3 {
    font-size: 1.25rem; }
  .wysiwyg h4 {
    font-size: 1.125rem; } }

.article.fixedtotop {
  position: relative; }
  .article.fixedtotop:before {
    content: "Pick up";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0 1rem; }
