@charset "utf-8";

/*
* Home
* Common parts (page)
* Post list
* Post single
* Pager
* Pagination
* Contact
*/

/* ==================================================

	Home

================================================== */

/* section共通パーツ
-------------------------------------------------- */
.home .home-title {
  margin-bottom: 40px;
  text-align: center;
}

/* section-mainvisual
-------------------------------------------------- */
.home .section-mainvisual img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
@media (max-width: 767px) {
  .home .section-mainvisual img {
    height: 300px;
  }
}

/* section-head
-------------------------------------------------- */
.home .section-head {
  margin-bottom: 120px;
}

/* section-head-message
-------------------------------------------------- */
/* section-head内にあるときのみmargin-topを設定 */
.home .section-head .section-message {
  margin-top: 60px;
}
.home .section-message {
  text-align: center;
}
.home .section-heading {
  font-size: 1.5rem;
}
.home .section-lead {
  line-height: 2;
}

/* section-postlist
-------------------------------------------------- */
.home .section-postlist,
.home .section-textpostlist,
.home .section-sidepostlist {
  margin-bottom: 120px;
}
/* 背景色をつける */
.home .section-textpostlist.has-background,
.home .section-sidepostlist.has-background {
  margin-bottom: 0;/* 背景がある場合はmarginを0に */
  padding: 50px 0;
  background-color: #f1f1f1;
}

/* section-info
-------------------------------------------------- */
.home .section-info .section-info-inner {
  margin-bottom: 60px;
}
/* section-infoの中で最後のinnerにだけ適用 */
.home .section-info .section-info-inner:last-of-type {
  margin-bottom: 120px;
}

/* section-info-inner */
.home .section-info-inner .row {
  margin: 0;
}
.home .section-info-image {
  padding: 0;
}
.home .section-info-image img {
  width: 100vw;
}
.home .section-info-text {
  padding: 0 0 0 50px;
}
.home .section-info-text .home-title {
  margin-bottom: 20px;
}



/* ==================================================

	Common parts (page)

================================================== */

/* title
-------------------------------------------------- */
.footer-title, .home-title, .page-title {
  font-weight: 400;
}

/* トップページ用sectionごとのタイトル */
.home-title {
  color: #00bbd3; /* Theme customize */
}

/* 下層ページ上部に入る内容
-------------------------------------------------- */
/* 下層ページタイトル */
.page-title {
  margin: 50px 0 40px;
  color: #00bbd3; /* Theme customize */
  font-size: 2.5rem;
  text-align: center;
  line-height: 1;
}
/* ページのリード文 */
.page-head-lead {
  margin-bottom: 40px;
  text-align: center;
  line-height: 2;
}
@media (max-width: 767px) {
  .page-head-lead { font-size: 0.9375rem; text-align: left; }
}

/* ボタン（共通）
-------------------------------------------------- */
/* WordPress記事のデフォルトのボタン */
.post-content .wp-block-button__link {
  background-color: #999; /* Theme customize */
}
.post-content .wp-block-button__link,
.post-content .wp-block-button__link:hover {
  color: #fff; /* Theme customize */
}

/* button-primary */
.button-primary {
  color: #fff; /* Theme customize */
  background-color: #00bbd3; /* Theme customize */
  border-color: #00bbd3; /* Theme customize */
}

/* button-outline-primary */
.button-outline-primary {
  color: #00bbd3; /* Theme customize */
  background-color: #fff; /* Theme customize */
  border-color: #00bbd3; /* Theme customize */
}

/* ボタン（MORE）
-------------------------------------------------- */
.list-more {
  padding-top: 20px;
  text-align: center;
}
.button-more {
  line-height: 1;
  color: #00bbd3; /* Theme customize */
}
/* border */
.button-more.has-border {
  display: inline-block;
  padding: 15px;
  width: 280px;
  border: 1px solid;
  border-color: #00bbd3; /* Theme customize */
  border-radius: 0;
  font-size: 0.875rem;
}
@media (max-width: 767px) {
  .button-more.has-border {
    width: 150px;
    font-size: 0.75rem;
  }
}
/* simple */
.button-more.has-simple {
  position: relative;
  padding: 0;
  border: none;
  font-size: 1rem;
}
.button-more.has-simple:after {
  content: '';
  position: absolute;
  border-bottom: 1px solid;
  border-color: #00bbd3; /* Theme customize */
  left: 0;
  bottom: -10px;
  width: 100%;
}



/* ==================================================

	Post list

================================================== */

/* postlist
-------------------------------------------------- */
.postlist-item {
  padding: 0 10px 20px 10px;
}
.postlist-image {
  overflow: hidden;
  margin-bottom: 0;
}
.postlist-image img {
  width: 100%;
  transition: 0.5s;
}
.postlist-image img:hover {
  transform: scale(1.1, 1.1);
}
/* postlist-detail */
.postlist-detail-date {
  margin: 10px 0 0;
  color: #999;
  font-size: 0.625rem;
}
.postlist-detail-title {
  margin: 0 0 5px;
  font-size: 1rem;
  line-height: 1.6;
}
.postlist-detail-excerpt {
  margin: 0 0 20px;
  font-size: 0.6875rem;
  line-height: 1.6;
}

/* sidepostlist
-------------------------------------------------- */
.sidepostlist a {
  display: block;
  margin: 0 0 20px;
  width: 100%;
}
/* 上下にボーダーをつける場合 */
.sidepostlist.has-border a {
  margin: 0;
  padding: 20px 10px;
  border-top: 1px solid #ccc;
}
.sidepostlist.has-border a:last-child { border-bottom: 1px solid #ccc; }

/* sidepostlist-item */
.sidepostlist-item {
  margin: 0;
}

/* sidepostlist-image */
.sidepostlist-image {
  padding: 0;
}

/* sidepostlist-detail */
.sidepostlist-detail  {
  padding: 0 0 0 30px;
}
.sidepostlist-detail-date {
  margin-bottom: 5px;
  color: #999;
  font-size: 0.75rem;
}
.sidepostlist-detail-title {
  margin-bottom: 5px;
  font-size: 1.125rem;
  line-height: 1.4;
}
.sidepostlist-detail-excerpt {
  font-size: 0.75rem;
}

/* textpostlist
-------------------------------------------------- */
.textpostlist-item {
  border-top: 1px solid #ccc;
}
.textpostlist-item:last-child {
  border-bottom: 1px solid #ccc;
}
.textpostlist-item a {
  display: table;
  table-layout: fixed;
  padding: 20px 10px;
  width: 100%;
  color: #555;
}
.textpostlist-item-date,
.textpostlist-item-title {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.6;
}
.textpostlist-item-date {
  padding: 0 15px 0 0;
  width: 95px;
  color: #999;
  font-size: 0.75rem;
}
.textpostlist-item-title {
  width: 100%;
  font-size: 0.875rem;
  margin: 0;
}



/* ==================================================

	Post single

================================================== */

/* 記事上部
-------------------------------------------------- */
.post-image {
  text-align: center;
}
.post-image img {
  max-width: 100%;
  max-height: 1000px;
}
.post-info {
  padding-top: 20px;
  padding-bottom: 30px;
}
.post-meta, .post-meta a {
  color: #999;
}
.post-meta div {
  display: inline-block;
  margin-right: 10px;
  padding-right: 10px;
  font-size: 0.75rem;
  line-height: 1;
  border-radius: 0;
  border-right: 1px solid #ddd;
}
.post-meta div:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}

/* 記事本文
-------------------------------------------------- */
.post-content {
  line-height: 2;
}

/* 記事タイトル
-------------------------------------------------- */
.post-title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6;
}

/* 記事の一番上に来た要素のmarginを0にする */
.post-content > *:first-child { margin-top: 0; }

.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
  margin: 50px 0 1rem 0;
  font-weight: bold;
  line-height: 1.6;
}
.post-content h1,
.post-content h2 { font-size: 2rem; } /* 28px */
.post-content h3 { font-size: 1.5rem; } /* 24px */
.post-content h4 { font-size: 1.125rem; } /* 18px */
.post-content h5 { font-size: 1rem; } /* 16px */
.post-content h6 { font-size: 0.875rem; } /* 14px */

.post-content h1+h2, .post-content h1+h3, .post-content h1+h4, .post-content h1+h5, .post-content h1+h6,
.post-content h2+h2, .post-content h2+h3, .post-content h2+h4, .post-content h2+h5, .post-content h2+h6,
.post-content h3+h2, .post-content h3+h3, .post-content h3+h4, .post-content h3+h5, .post-content h3+h6,
.post-content h4+h2, .post-content h4+h3, .post-content h4+h4, .post-content h4+h5, .post-content h4+h6,
.post-content h5+h2, .post-content h5+h3, .post-content h5+h4, .post-content h5+h5, .post-content h5+h6,
.post-content h6+h2, .post-content h6+h3, .post-content h6+h4, .post-content h6+h5, .post-content h6+h6 {
	margin-top: 20px;
}

/* blockquote
-------------------------------------------------- */
.post-content blockquote {
  margin: 2rem 0;
  padding: 30px 45px;
  border: 1px solid #e6e6e6;
}
.post-content blockquote strong:first-child {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1;
}
.post-content blockquote p:last-child {
  margin-bottom: 0;
}

/* table
-------------------------------------------------- */
.post-content table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  width: 100%;
  margin: 1rem 0;
}
.post-content th {
  font-weight: bold;
}
.post-content th, .post-content td {
  padding: 2%;
  margin: 0;
  overflow: visible;
  line-height: 1.6;
  border-bottom: 1px solid #e6e6e6;
}
.post-content table tbody > tr:nth-child(2n+1) > td {
  background: #f9f9f9;
}



/* ==================================================

	Pagination, Pager

================================================== */

/* Pagination, Pager 共通
-------------------------------------------------- */
.pagination,
.pager {
  margin: 60px 0 0 0;
  padding: 20px 0;
  width: 100%;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}

/* Pagination（アーカイブページで使用）
-------------------------------------------------- */
.pagination {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
.pagination-prev, .pagination-next,
.pagination-body {
  display: -webkit-flex;
  display: flex;
  margin: 0; /* listのスタイルリセット */
  padding: 0; /* listのスタイルリセット */
  list-style: none; /* listのスタイルリセット */
}
.pagination-prev, .pagination-next,
.pagination li,
.pagination li a {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.pagination-prev, .pagination-next,
.pagination li {
  margin: 0 10px;
  height: 50px;
}
.pagination-prev, .pagination-next {
  padding: 0 10px;
}
/* 現在のページ、マウスオーバー時 */
.pagination li.active,
.pagination li a {
  width: 50px;
  height: 50px;
  border: 1px solid;
  border-color: transparent;
  border-radius: 50%;
}
.pagination li.active,
.pagination li a:hover {
  border-color: #555;
}
/* SP表示 */
@media (max-width: 767px) {
  .pagination-prev, .pagination-next,
  .pagination li {
    margin: 0 5px;
    height: 32px;
    font-size: 0.875rem; /* 14px */
  }
  .pagination-prev, .pagination-next {
    padding: 0 5px;
  }
  .pagination li.active,
  .pagination li a {
    width: 32px;
    height: 32px;
  }
}

/* Pager （singleページで使用）
-------------------------------------------------- */
.pager {
  display: table;
  table-layout: fixed;
}
.pager-prev, .pager-next {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
  font-size: 0.875rem;
  line-height: 1.6;
}
.pager-prev {
  padding-right: 20px;
  border-right: 1px solid #e6e6e6;
}
.pager-next {
  padding-left: 20px;
  text-align: right;
}
.pager a {
  display: block;
  color: #555;
}
.pager-prev a {
  padding-left: 25px;
  background-image: url("../img/ico_prev.png");
  background-size: 8px;
  background-repeat: no-repeat;
  background-position: center left;
}
.pager-next a {
  padding-right: 25px;
  background-image: url("../img/ico_next.png");
  background-size: 8px;
  background-repeat: no-repeat;
  background-position: center right;
}
/* SP表示 */
@media (max-width: 767px) {
  .pager-prev, .pager-next {
    font-size: 0.875rem; /* 14px */
  }
}


/* ==================================================

	Contact

================================================== */
.contact-button {
  margin: 2rem 0;
  text-align: center;
}
.contact-note {
  margin: 2rem 0;
  padding: 15px 20px;
  border: 1px solid #e6e6e6;
  font-size: 0.875rem; /* 14px */
  line-height: 1.6;
}
.contact-note p {
  margin: 0;
}
