@charset "UTF-8";

/**
 * page
 * NOTE:
 *
 * content.php や content-page.php などのテンプレートファイル内で、
 * the_title() や the_content() といったWordPress関数から出力される要素です。
 * ここでは、_s の独自クラス名なども含ませます。
 *
**/


/**
 * _s selector
**/

.site-main {
  margin: 0;
  overflow: hidden;
}
*+.site-main {
  margin-top: 28px;
}


/**
 * アーカイブ一覧用レイアウトラッパー
**/
.archive-page-main-wrapper {
  display: grid;
  /*grid-template-columns: 1fr 3fr 1fr;*/
  /*grid-template-areas: ". main sidebar";*/
  /* NOTE: ドット (.) を使うことで、その場所を空欄（余白）にできます */
  grid-template-columns: 2fr 1fr;
  grid-template-areas: "main sidebar";
  gap: 40px;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 var(--site-container-padding-inline);
  position: relative;
  overflow: hidden;
}
.archive-page-main-wrapper .site-main {
  grid-area: main;
  overflow: visible;
}
.archive-page-main-wrapper .widget-area {
  grid-area: sidebar;
}
.archive-page-main-wrapper .site-main>.l-container {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 1200.98px) {
  .archive-page-main-wrapper {
    grid-template-columns: 2fr 1fr;
    grid-template-areas: "main sidebar";
  }
}
@media only screen and (max-width: 767.98px) {
  .archive-page-main-wrapper {
    display: block;
  }
  .archive-page-main-wrapper .widget-area {
    margin-top: 40px;
  }
}


/**
 * side
**/
.widget-item {
  padding: 32px 20px;
}
@media only screen and (max-width: 767.98px) {
  .widget-item {
    padding: 20px 20px;
  }
}

.widget-title {
  display: block;
  color: var(--site-c-main);
  color: var(--font-c);
  font-size: calc(var(--site-fs) * 1.25);
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  margin: 0 0 1em;
  position: relative;
}
@media only screen and (max-width: 767.98px) {
  .widget-title {
    font-size: calc(var(--site-fs) * 1);
    margin-bottom: 0.5em;
  }
}

.widget-archive-list {
  font-size: calc(var(--site-fs) * 1);
}
.widget-archive-list>li {
  padding: 12px 0;
}
.widget-archive-list>*+li {
  border-top: solid 1px var(--site-c-lightgray);
}
.widget-archive__news-link {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  width: 100%;
  padding: 0;
  gap: 1em;
}
.widget-archive__news-link.widget-archive__news-link--month {
  justify-content: space-between;
}
.widget-archive__news-date {
  color: #636363;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.075ex;
}
.widget-archive__news-desc {
  display: block;
}
.widget-archive__news-cnt {
  display: block;
  border-radius: 4px;
  background: var(--site-c-underlayer);
  color: var(--site-c-gray);
  text-align: center;
  min-width: 4ex;
}

.search-form {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}
.search-form>label {
  width: 100%;
}
.search-form>label>.screen-reader-text {
  display: none;
}
.search-form>label>.search-field {
  border-radius: var(--site-radius-btn);
  border: 1px solid var(--site-c-lightgray);
  background: #fff;
  font-size: var(--site-input-fs);
  /* フォーム入力時のの自動拡大を防ぐため必ず --site-input-fs変数を使用してfont-sizeを指定し、16px以下にしないように注意してください。 */
  max-width: 768px;
  width: 100%;
  height: var(--site-input-height);
  padding: 0 1em;
  margin: 0;
}
.search-form>.search-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: none;
  border-radius: var(--site-radius-btn);
  border: solid 1.5px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  text-align: center;
  width: 96px;
  height: var(--site-btn-height);
  margin: 0;
  padding-inline: 0.75em;
  position: relative;
  transition:
    box-shadow 0.2s ease,
    border 0.2s ease,
    background 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
  cursor: pointer;
}
.search-form>.search-submit:hover {
  border: solid 1.5px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  opacity: 0.7;
}






/**
 * wp default entry selector
**/

/* 主に記事のタイトルや、投稿日・カテゴリーなどの情報が含まれます。 */
.entry-header {}

/* タイトル(通常は h1 または h2) */
.entry-title {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: var(--site-c-main);
  color: var(--font-c);
  font-size: calc(var(--site-fs) * 1.75);
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  gap: 0.125em;
  margin: 0 0 1.5em;
  position: relative;
}
.entry-title::before {
  content: '';
  display: block;
  background-image: url(../images/icon-star-8.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1em;
  height: 1em;
}
@media only screen and (max-width: 767.98px) {
  .entry-title {
    font-size: calc(var(--site-fs) * 1.375);
    margin-bottom: 1em;
  }
}

/* タイトル内のリンク */
.entry-title a {
  color: inherit;
}

/* 投稿メタ情報 (投稿日や著者名などを囲むグループ) */
.entry-meta {
  border-bottom: solid 1px var(--site-c-lightgray);
  color: #636363;
  font-size: calc(var(--site-fs) * 1.125);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.075ex;
  margin: 0 0 24px;
  padding: 0 0 24px;
}

/* 各メタ要素 */
.entry-meta .posted-on {}
.entry-meta .byline {}
.entry-meta .cat-links {}
.entry-meta .tags-links {}

.category-calendar .entry-meta {
  display: none;
}

/*本文・メインエリア */
.entry-content {}

/* 段落 */
.entry-content p {
  font-size: calc(var(--site-fs) * 1);
  /* font-feature-settings: 'palt'; */
  line-height: 2.25;
}
.entry-content *+p {
  margin-top: 1em;
}
.entry-content *+.has-small-font-size {
  margin-top: 1em;
}
.entry-content *+.has-normal-font-size {
  margin-top: 1em;
}
.entry-content *+.has-large-font-size {
  margin-top: 0.25em;
}
@media only screen and (max-width: 767.98px) {
  .entry-content p {
    line-height: 1.9;
  }
}


/* 見出し */
.entry-content h2 {
  font-size: calc(var(--site-fs) * 1.333);
  font-weight: 600;
  line-height: 1.4;
  position: relative;
}
.entry-content>h2 {
  color: var(--site-c-main);
}
.entry-content *+h2 {
  margin-top: 1.5em;
}
.entry-content h3 {
  font-size: calc(var(--site-fs) * 1.333);
  font-weight: 600;
  line-height: 1.4;
}
.entry-content *+h3 {
  margin-top: 1em;
}
.entry-content h4 {
  font-size: calc(var(--site-fs) * 1.25);
  font-weight: 600;
  line-height: 1.4;
}
.entry-content *+h4 {
  margin-top: 1em;
}

/* リンク */
.entry-content a {
  color: var(--site-c-link);
}
.wp-block-file__button.wp-element-button {
  display: inline-block;
  background-color: var(--site-c-main);
  color: #fff;
  padding: 0.2ex 1em;
}

/* リスト */
/* 箇条書き */
.entry-content ul {
  font-size: calc(var(--site-fs) * 1);
  font-feature-settings: 'palt';
  line-height: 2.25;
}
.entry-content *+ul {
  margin-top: 1em;
}
.entry-content ul li {
  line-height: inherit;
  position: relative;
  padding: 0 0 0 1.5em;
}
.entry-content ul li>strong:first-child {
  display: block;
  margin: 0 0 -0.5em;
}
.entry-content ul li>strong:first-child+br {
  display: none;
}
.entry-content ul li+li {
  margin-top: 0.75em;
}
.entry-content ul li::before {
  content: '';
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: var(--site-c-main);
  line-height: inherit;
  width: 1lh;
  height: 1lh;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transform: scale(0.4);
  transform-origin: left center;
}


/* 番号付き */
.entry-content ol {
  counter-reset: entry-content-ol;
  font-size: calc(var(--site-fs) * 1);
  font-feature-settings: 'palt';
  line-height: 2.25;
}
.entry-content *+ol {
  margin-top: 1em;
}
.entry-content ol>li {
  counter-increment: entry-content-ol;
  line-height: inherit;
  position: relative;
  padding: 0 0 0 1.5em;
}
.entry-content ol>li>strong:first-child {
  display: block;
  margin: 0 0 -0.5em;
}
.entry-content ol>li>strong:first-child+br {
  display: none;
}
.entry-content ol>li+li {
  margin-top: 0.5em;
}
.entry-content ol>li::before {
  content: counter(entry-content-ol)'.';
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: var(--site-c-main);
  font-weight: 700;
  line-height: inherit;
  height: 1lh;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}




/* 画像・メディア */

/* 画像単体 */
.entry-content img {}

/* キャプション付き画像 */
.entry-content figure {}
.entry-content figcaption {}

/* 左/右寄せ画像 */
.entry-content .alignleft {}
.entry-content .alignright {}

/* 引用 */
.entry-content blockquote {}

/* テーブル */
.entry-content table {}

/*フッター・補助情報 */
.entry-footer {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  border-top: solid 1px var(--site-c-lightgray);
  margin: 24px 0 0;
  padding: 24px 0 0;
  gap: 24px;
}

/* タグ一覧 */
.entry-footer .tags-links {}

/* カテゴリー */
.entry-footer .cat-links {}
.entry-footer .cat-links [class*="fa"] {
  color: var(--site-c-main);
  margin: 0 0.4ex 0 0;
}


/* コメントへのリンク */
.entry-footer .comments-link {}

/* 編集リンク */
.entry-footer .edit-link {}


/* ページャ */
.comment-navigation .screen-reader-text,
.posts-navigation .screen-reader-text,
.post-navigation .screen-reader-text {
  display: none;
}

.comment-navigation .nav-previous a::before,
.posts-navigation .nav-previous a::before,
.post-navigation .nav-previous a::before {
  /*content: '\f061';*/
  content: '\f000';
  display: var(--fa-display, inline-block);
  border-radius: 0;
  background: transparent;
  color: var(--site-c-main);
  /*font-family: "Font Awesome 7 Free";*/
  font-family: "arrow-right-solid-origs";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-size: 13px;
  /* NOTE: アイコンの大きさはfont-sizeで調整 */
  /*font-weight: 700;*/
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  transform: scaleX(-1);
  margin: 0 0.5ex 0 0;
}

.comment-navigation .nav-next a::after,
.posts-navigation .nav-next a::after,
.post-navigation .nav-next a::after {
  /*content: '\f061';*/
  content: '\f000';
  display: var(--fa-display, inline-block);
  border-radius: 0;
  background: transparent;
  color: var(--site-c-main);
  /*font-family: "Font Awesome 7 Free";*/
  font-family: "arrow-right-solid-origs";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-size: 13px;
  /* NOTE: アイコンの大きさはfont-sizeで調整 */
  /*font-weight: 700;*/
  font-weight: normal;
  line-height: 1;
  text-rendering: auto;
  margin: 0 0 0 0.5ex;
}

.post-pagination {}
*+.post-pagination {
  margin-top: 24px;
}

.pagination-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.pagination-item {}

.pagination-item {}
.pagination-item.is-current {}

.pagination-item.pagination-prev {}
.pagination-item.pagination-next {}

.pagination-item.pagination-prev.is-disabled {}
.pagination-item.pagination-next.is-disabled {}


/* Button */
.pagination-item>span,
.pagination-item>a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--site-radius-small);
  text-align: center;
  min-width: var(--site-btn-height);
  height: var(--site-btn-height);
  gap: 1ex;
  padding: 0 1em;
}
.pagination-item>span {
  border: solid 1.5px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
}
.pagination-item>a {
  border: solid 1.5px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
}
.pagination-item>a:hover {
  opacity: 0.6;
}
.pagination-item.is-disabled>span,
.pagination-item.is-disabled>span {
  border: solid 1.5px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  filter: grayscale(1);
  opacity: 0.6;
}


/* Button icon */
.pagination-item>span>i,
.pagination-item>a>i {}

/* Button text */
.pagination-item>span>span,
.pagination-item>a>span {}


.post-thumbnail {}

*+.wp-block-file {
  margin-top: 20px;
}
.wp-block-file[data-wp-interactive="core/file"] {
  container-type: inline-size;
}
.wp-block-file [data*=".pdf"] {
  width: 100cqw !important;
  height: calc( 146cqw + 42px ) !important;
}

.post.type-post.has-post-thumbnail:has(.wp-block-file[data-wp-interactive="core/file"]) .post-thumbnail {
  display: none;
}
.post.type-post.has-post-thumbnail:has(object[data][data-is-not-use]) .post-thumbnail {
  display: none;
}

.wp-block-file [data-is-not-use] {
  display: none;
}
.wp-block-file__fallback-image {
  display: none;
  margin: 0 0 20px;
}
.wp-block-file [data-is-not-use]~.wp-block-file__fallback-image {
  display: block;
}
.wp-block-file__fallback-image img {
  border: solid 1px var(--site-c-lightgray);
}


/**
 * 独自のブロックグループ
**/

/* 地図 */
.block-map {}
*+.block-map {
  margin-top: 2em;
}

.block-map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
}

.block-map p {
  border-radius: 8px;
  background: var(--site-c-underlayer);
  line-height: 1.4;
  padding: 1.5em;
}


/* Q&A */
.block-faq {
  border-radius: 16px;
  background: var(--site-c-underlayer);
  padding: 1.5em;
}
*+.block-faq {
  margin-top: 40px;
}
@media only screen and (max-width: 767.98px) {
  .block-faq {
    padding: 24px 16px;
  }
}

.block-faq h2 {
  font-size: calc(var(--site-fs) * 1.125);
  font-weight: 600;
  line-height: 2;
  margin: 0 0 0.5em;
  padding: 0 0 0 3em;
  position: relative;
}
.block-faq h2::before {
  content: 'Q';
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: var(--site-c-main);
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  width: 1lh;
  height: 1lh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (max-width: 767.98px) {
  .block-faq h2 {
    line-height: 1.66;
    padding-left: 2.5em;
  }
}

.block-faq p {
  font-size: calc(var(--site-fs) * 1.125);
  font-weight: 400;
  line-height: 2;
  padding: 0 0 0 3em;
  position: relative;
}
.block-faq p::before {
  content: 'A';
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: #e7b16d;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  width: 1lh;
  height: 1lh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.block-faq *+p {
  margin-top: 0;
}
@media only screen and (max-width: 767.98px) {
  .block-faq p {
    line-height: 1.66;
    padding-left: 2.5em;
  }
}


/* プロフィール */
body .block-profile,
.block-profile {
  display: grid;
  grid-template-columns: 5fr 7fr;
  align-items: stretch;
  gap: 40px;
}
body *+.block-profile,
*+.block-profile {
  margin-top: 2em;
}
.block-profile:has(.wp-block-paragraph:empty) {
  grid-template-columns: 1fr;
}
@media only screen and (max-width: 767.98px) {
  body .block-profile,
  .block-profile {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 20px;
    margin-bottom: 40px;
  }
}

.block-profile .wp-block-buttons {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8px;
}

.block-profile>.wp-block-group:has(.wp-block-paragraph:empty) {
  display: none;
}

.block-profile>.wp-block-group+.wp-block-group {
  border-left: solid 1px var(--site-c-lightgray);
  padding-left: 40px;
}
@media only screen and (max-width: 767.98px) {
  .block-profile>.wp-block-group+.wp-block-group {
    border-top: solid 1px var(--site-c-lightgray);
    border-left: none;
    padding-top: 20px;
    padding-left: 0;
  }
  body .block-profile+.block-profile>.wp-block-group,
  .block-profile+.block-profile>.wp-block-group {
    border-top: solid 1px var(--site-c-lightgray);
    border-left: none;
    margin-top: -20px;
    padding-top: 20px;
    padding-left: 0;
  }
}

.block-profile>.wp-block-group>.wp-block-group__inner-container {
}

.block-profile>.wp-block-group>.wp-block-group__inner-container>p {
  font-size: calc(var(--site-fs) * 1);
  font-feature-settings: 'palt';
  line-height: 1.75;
}
.block-profile>.wp-block-group>.wp-block-group__inner-container>p>strong {
  font-size: calc(var(--site-fs) * 1.25);
  font-feature-settings: 'palt';
  line-height: 1.75;
}
.block-profile>.wp-block-group>.wp-block-group__inner-container>.wp-block-heading {
  color: var(--site-c-main);
  font-size: calc(var(--site-fs) * 1);
  font-feature-settings: 'palt';
  font-weight: inherit;
  line-height: 1.75;
}
.block-profile>.wp-block-group>.wp-block-group__inner-container>.wp-block-heading+p {
  margin-top: 0.25em;
}


.block-profile>.wp-block-group>.wp-block-group__inner-container>.wp-block-image {
}
@media only screen and (max-width: 767.98px) {
  .block-profile>.wp-block-group>.wp-block-group__inner-container>.wp-block-image {
    max-width: 240px;
    margin: 0 auto;
  }
}
.block-profile>.wp-block-group>.wp-block-group__inner-container>.wp-block-image>img {
  border-radius: 8px;
  width: 100%;
  height: auto;
  aspect-ratio: 7 / 10;
  object-fit: cover;
  object-position: center top;
}
@media only screen and (max-width: 767.98px) {
  .block-profile>.wp-block-group>.wp-block-group__inner-container>.wp-block-image+p {
    text-align: center;
  }
}


.wp-block-button:has([href*="instagram.com"]) {
  display: block;
}
.wp-block-button__link[href*="instagram.com"] {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--site-radius-btn);
  border: solid 2px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 14px;
  font-weight: 700;
  gap: 12px;
}
.wp-block-button__link[href*="instagram.com"]::before {
  content: '\f16d';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  font-family: "Font Awesome 7 Brands";
  font-weight: 900;
  font-size: 24px;
}


.wp-block-button:has([href*="note.com"]) {
  display: block;
}
.wp-block-button__link[href*="note.com"] {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--site-radius-btn);
  border: solid 2px var(--site-c-red);
  background: #fff;
  color: var(--site-c-red);
  font-size: 14px;
  font-weight: 700;
  gap: 12px;
}
.wp-block-button__link[href*="note.com"]::before {
  content: '';
  display: block;
  background-color: currentColor;
  -webkit-mask: no-repeat center / contain;
  mask: no-repeat center / contain;
  -webkit-mask-image: url("../images/icon-brands-note.svg"); mask-image: url("../images/icon-brands-note.svg");
  width: 1lh;
  height: 1lh;
  transform: scale(1.666);
}


/* 本文中挿入画像ブロック */
.wp-block-image {
  margin-bottom: 3em;
}
.wp-block-image:last-child {
  margin-bottom: 0;
}
*+.wp-block-image {
  margin-top: 3em;
}
/* 50%幅が選ばれた時 */
.wp-block-image.is-style-image-width-50 {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}

/* 75%幅が選ばれた時 */
.wp-block-image.is-style-image-width-75 {
  width: 75%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767.98px) {
  .wp-block-image.is-style-image-width-50,
  .wp-block-image.is-style-image-width-75 {
    width: 100%;
  }
}
