
/*==========
kiso.css
==========*/
/*! kiso.css v1.2.2 | MIT License | https://github.com/tak-dcxi/kiso.css */
*,
::before,
::after {
  box-sizing: border-box;
}
:where(:root) {
  text-spacing-trim: trim-start;
  text-autospace: normal;
  line-break: strict;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
  -webkit-tap-highlight-color: transparent;
}
:where(body) {
  min-block-size: 100dvb;
  margin: unset;
}
:where(h1, h2, h3, h4, h5, h6) {
  margin-block: unset;
  text-wrap: pretty;
}
:where(search) {
  display: block flow;
}
:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  margin-block: unset;
}
:where(blockquote, figure) {
  margin-inline: unset;
}
:where(p:lang(en)) {
  text-wrap: pretty;
}
:where(address:lang(ja)) {
  font-style: unset;
}
:where(ul, ol, menu) {
  padding-inline-start: unset;
  list-style-type: "";
}
:where(dt) {
  font-weight: bold;
}
:where(dd) {
  margin-inline-start: unset;
}
:where(a:any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
}
:where(img, svg, picture, video, canvas, model, audio, iframe, embed, object) {
  block-size: auto;
  max-inline-size: 100%;
  vertical-align: bottom;
}
:where(iframe) {
  border: unset;
}
:where(table) {
  border-collapse: collapse;
}
:where(caption, th) {
  text-align: unset;
}
:where(caption) {
  text-wrap: pretty;
}
:where(button, input, select, textarea),
::file-selector-button {
  border-width: 0;
  border-style: solid;
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  padding: 0.5lh;
  text-align: unset;
  outline: 0;
}
:where(input:is([type="radio" i], [type="checkbox" i])) {
  margin: unset;
}
:where(input[type="file" i]) {
  border: unset;
}
:where(input[type="search" i]) {
  -webkit-appearance: textfield;
}
@supports (-webkit-touch-callout: none) {
  :where(input[type="search" i]) {
    background-color: Canvas;
  }
}
:where(
    input:is(
        [type="tel" i],
        [type="url" i],
        [type="email" i],
        [type="number" i]
      ):not(:placeholder-shown)
  ) {
  direction: ltr;
}
:where(textarea) {
  margin-block: unset;
  resize: block;
}
:where(
    input:not([type="button" i], [type="submit" i], [type="reset" i]),
    textarea,
    [contenteditable]
  ) {
  text-autospace: no-autospace;
}
:where(
    button,
    input:is([type="button" i], [type="submit" i], [type="reset" i])
  ),
::file-selector-button {
  background-color: unset;
}
:where(
    button,
    input:is([type="button" i], [type="submit" i], [type="reset" i]),
    [role="tab" i],
    [role="button" i],
    [role="option" i]
  ),
::file-selector-button {
  touch-action: manipulation;
}
:where(
    button:enabled,
    label[for],
    select:enabled,
    input:is(
        [type="button" i],
        [type="submit" i],
        [type="reset" i],
        [type="radio" i],
        [type="checkbox" i]
      ):enabled,
    [role="tab" i],
    [role="button" i],
    [role="option" i]
  ),
:where(:enabled)::file-selector-button {
  cursor: pointer;
}
::placeholder {
  opacity: unset;
}
:where(summary) {
  list-style-type: "";
  cursor: pointer;
}
:where(summary)::-webkit-details-marker {
  display: none;
}
:where(dialog, [popover]) {
  overscroll-behavior-block: contain;
  padding: unset;
  border: unset;
}
:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  display: none !important;
}
:where(dialog) {
  max-inline-size: unset;
  max-block-size: unset;
}
:where(dialog)::backdrop {
  background-color: oklch(0% 0 0deg / 30%);
}
:where([popover]) {
  margin: unset;
}
:where(:focus-visible) {
  outline-offset: 3px;
}
[tabindex="-1"]:focus {
  outline: none !important;
}
:where(:disabled, [aria-disabled="true" i]) {
  cursor: default;
}
[hidden]:not([hidden="until-found" i]) {
  display: none !important;
}

/*==========
設定・リセット
==========*/
body{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100svh;
    line-break: strict;
    overflow-wrap: anywhere;
    word-break: normal;
}
main {
	overflow: hidden;
}
/* 見出し */
h1, h2, h3, h4, h5, h6{
    margin-block-start: 0;
    margin-block-end: 0;
}
/* リンク */
a, a:hover, a:focus{
    color: inherit;
}
/* 番号なし・ありリスト */
.wp-block-list{
    counter-reset: number;
    list-style-type: none;
    padding-left: 0;
}
.wp-block-list >li{
	padding-left: 1.5em;
    position: relative;
}
.wp-block-list >li::before{
    display: inline-block;
    left: 0;
    position: absolute;
}
ul.wp-block-list >li::before{
    background-color: var( --wp--preset--color--brown );
    border-radius: 50%;
    content: "";
    height: 0.3em;
    top: 0.5lh;
    width: 0.3em;
}
ol.wp-block-list >li::before{
    color: currentColor;
    content: counter(number) ".";
    counter-increment: number 1;
    font-weight: inherit;
}
/* 説明リスト */
dl{
    display: grid;
    grid-template-columns: max-content 1fr;
}
dt, dd{
    padding-block-start: 0.5em;
}
dt:first-of-type, dd:first-of-type{
    padding-block-start: 0;
}
dt{
    font-weight: var( --wp--custom--font-weight--bold );
}
dd{
    margin-inline-start: 0;
    padding-inline-start: 2em;
}
@media screen and (max-width: 600px){
    dl{
        grid-template-columns: 1fr;
    }
    dd{
        padding-block-start: 0;
    }
}
/* テーブル */
.wp-block-table{
    overflow: scroll;
}
.wp-block-table table{
    font-size: inherit;
}
.wp-block-table th, .wp-block-table td{
    border-color: currentColor !important;
    border-style: solid;
    border-width: 1px;
    line-height: inherit;
    padding: 0.8em 1.2em;
}
.wp-block-table th{
    background-color: #eee !important;
    font-weight: var( --wp--custom--font-weight--bold );
    white-space: nowrap;
}
.wp-block-table td{
    /* background-color: #ffffff33 !important; */
}
.wp-block-table thead{
    border-bottom: inherit;
}
.wp-block-table tfoot{
    border-top: inherit;
}
.wp-block-table .has-fixed-layout th{
    white-space: initial;
}
/* 画像 */
img{
    vertical-align: bottom;
}
/* 注釈 */
figcaption{
    color: inherit !important;
    font-size: inherit !important;
    font-style: normal;
    font-weight: inherit;
    line-height: inherit;
    text-shadow: none !important;
}
.wp-block-image :where(figcaption){
    margin-bottom: 0;
    margin-top: 5px;
}
.wp-block-embed :where(figcaption){
    margin-bottom: 0;
    margin-top: 5px;
}
.wp-block-gallery :where(figcaption){
    text-align: left !important;
}
.wp-block-gallery.is-cropped .wp-block-image figcaption{
    color: #fff !important;
}
.wp-block-gallery:not(.is-cropped) .wp-block-image figcaption{
    background: none !important;
    margin-top: 5px !important;
    padding: 0 !important;
    position: static !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before{
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
/* 引用 */
blockquote{
    font-style: italic;
    margin: 0;
    padding-left: 30px;
}
.wp-block-pullquote{
    font-size: 120%;
    line-height: inherit;
    text-align: left;
}
.wp-block-pullquote cite{
    font-size: 80%;
}
/* 整形済みテキスト */
pre{
    margin-top: 0;
}
/* 折りたたみ */
summary{
    font-weight: var(--wp--custom--font-weight--bold);
}

/*=====
要素の間隔（20pxを想定）
=====*/
.single-post .entry-content >*{
	margin-top: 30px;
	margin-bottom: 30px;
}
.single-post .entry-content > :is( p, ul, ol, dl ){
	margin-top: 10px;
	margin-bottom: 20px;
}
.single-post .entry-content > :is( h1, h2, h3, h4, h5, h6 ){
	margin-bottom: 10px;
}
.single-post .entry-content >*:first-child{
	margin-top: 0;
}
.single-post .entry-content >*:last-child{
	margin-bottom: 0;
}
:root :where(.is-layout-grid),
:root :where(.is-layout-flex){
    /* gap: 20px 25px; */
}
.is-layout-grid > p,
.is-layout-flex > p{
    /* margin-bottom: 0; */
} 
/* ギャラリーなど */
:root{
    --wp--style--block-gap: 20px;
}
/* メディアとテキスト */
@media screen and (max-width: 600px){
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content{
        margin-top: 20px;
    }
}

/*=====
WordPressブロックエディタ汎用調整
=====*/
.entry-content {
    overflow: hidden;
}
/* 背景クラス */
:root :where(p.has-background) {
    padding: 0;
}
h1:where(.wp-block-heading).has-background, h2:where(.wp-block-heading).has-background, h3:where(.wp-block-heading).has-background, h4:where(.wp-block-heading).has-background, h5:where(.wp-block-heading).has-background, h6:where(.wp-block-heading).has-background {
    padding: 0;
}
/* 画像と行間 */
.wp-block-image {
    line-height: 1;
    font-size: 0;
}
.wp-block-accordion-heading__toggle-title:has(img) {
    line-height: 1;
    font-size: 0;
}
/* ボタン */
.wp-block-buttons .wp-block-button{
    position: relative;
}
.wp-block-buttons a.wp-block-button__link,
.wp-block-buttons a.wp-block-button__link:hover{
    background-color: var(--wp--preset--color--brown);
    color: #fff;
    font-weight: var(--wp--custom--font-weight--bold);
}
.wp-block-buttons .wp-block-button__link::before{
    content: "";
    display: block;
    position: absolute;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    top: 50%;
    left: 1.25em;
    translate: 0 -50%;
    -webkit-mask: url(../images/btn_back.png) no-repeat center /contain;
    mask: url(../images/btn_back.png) no-repeat center /contain;
}
.wp-block-buttons .wp-block-button__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 0.25em;
    width: calc(100% - 0.5em);
    height: calc(100% - 0.5em);
    left: 0.25em;
    border: 1px solid currentColor;
}
/* ライトボックス */
.wp-lightbox-container button{
    display: none;
}
/* 埋め込み */
.wp-block-embed__wrapper{
    font-size: 0;
    line-height: 1em;
}
.wp-block-embed.is-type-video .wp-block-embed__wrapper {
    aspect-ratio: 16 / 9;
    position: relative;
}
.wp-block-embed.is-type-video iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

/*=====
汎用自作パーツ
=====*/
/* 改行 */
.ib{
    display: inline-block;
}
/* テーブル　スマホでオーバーフロー */
.table_spOverflow{
    white-space: nowrap;
}
@media screen and (max-width: 900px){
    .table_spOverflow table{
        min-width: max-content;
    }
}
/* テーブル　スマホで縦並び */
@media screen and (max-width: 600px){
    .table_spBlock th{
        border-bottom: 0;
        display: block;
        text-align: left;
        white-space: initial;
    }
    .table_spBlock tr:not(:first-child) th{
        border-top: 0;
    }
    .table_spBlock td{
        display: block;
    }
}

/*==========
パーツ
==========*/
/* wp-block-query-pagination-numbers */
.wp-block-query-pagination-numbers{
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4em;
    justify-content: center;
    margin-top: 40px;
}
.wp-block-query-pagination-numbers :is( .page-numbers, .current, .extend, .first, .last ){
    align-items: center;
    background-color: var(--wp--preset--color--beige);
    border-radius: 99px;
    display: inline-flex;
    height: 2em;
    justify-content: center;
    transition: .3s;
    width: 2em;
}
.wp-block-query-pagination-numbers :is( .page-numbers:hover, .first, .first:hover, .last, .last:hover ){
    background-color: var(--wp--preset--color--brown);
    color: #fff;
}
.wp-block-query-pagination-numbers .current{
    /* font-weight: var(--e-global-typography-primary-font-weight); */
}
.wp-block-query-pagination-numbers .extend{
    opacity: 0.2;
    width: auto;
}
.wp-block-query-pagination-numbers .first{
    margin-right: 0.5em;
}
.wp-block-query-pagination-numbers .last{
    margin-left: 0.5em;
}