/*
Theme Name: BlankSlate
Theme URI: https://opencollective.com/blankslate
Author: Web Guy
Author URI: https://opencollective.com/blankslate#section-contributors
Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you.
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2025
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate

BlankSlate WordPress Theme 2011-2025
BlankSlate is distributed under the terms of the GNU GPL
*/
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}
html {
    scroll-behavior: smooth
}
body {
    line-height: 1
}
a {
    text-decoration-skip-ink: auto
}
a[href^="tel"] {
    color: inherit;
    text-decoration: none
}
button {
    outline: 0
}
ol, ul {
    list-style: none
}
blockquote, q {
    quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none
}
q {
    display: inline;
    font-style: italic
}
q:before {
    content: '"';
    font-style: normal
}
q:after {
    content: '"';
    font-style: normal
}
textarea, input[type="text"], input[type="button"], input[type="submit"], input[type="reset"], input[type="search"], input[type="password"] {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0
}
input[type="search"] {
    -webkit-appearance: textfield
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
th, td {
    padding: 2px
}
big {
    font-size: 120%
}
small, sup, sub {
    font-size: 80%
}
sup {
    vertical-align: super
}
sub {
    vertical-align: sub
}
dd {
    margin-left: 20px
}
kbd, tt {
    font-family: courier;
    font-size: 12px
}
ins {
    text-decoration: underline
}
del, strike, s {
    text-decoration: line-through
}
dt {
    font-weight: bold
}
address, cite, var {
    font-style: italic
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}
* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent
}
.sticky {}
.bypostauthor {}
.wp-caption {}
.wp-caption-text {}
.gallery-caption {}
.alignright {}
.alignleft {}
.aligncenter {}
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    word-break: normal
}
.screen-reader-text:focus {
    background-color: #f7f7f7;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #007acc;
    display: block;
    font-size: 14px;
    font-size: .875rem;
    font-weight: 700;
    height: auto;
    right: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}
.skip-link {
    left: -9999rem;
    top: 2.5rem;
    z-index: 999999999;
    text-decoration: underline
}
.skip-link:focus {
    display: block;
    left: 6px;
    top: 7px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    line-height: normal;
    padding: 15px 23px 14px;
    z-index: 100000;
    right: auto
}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active) {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap
}
/* ----------------------------------
ヘッダー
---------------------------------- */
#wrapper #header {
    background: #000000;
    width: auto;
    padding: 30px 0;
}
#wrapper #header .wrap {
    width: 1100px;
    margin: 0 auto;
    position: relative;
}
#wrapper #header .wrap .title {
    color: #FFFFFF;
    font-family: "Shippori Mincho", serif;
    text-align: center;
    margin-bottom: 5px;
}
#wrapper #header .wrap img {
    width: 350px;
    height: auto;
    display: block;
    margin: 0 auto;
}
#wrapper #header .wrap #search {
    display: inline;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
#wrapper #header .wrap #search form {
    display: inline-flex;
    align-items: center;
}
#wrapper #header .wrap #search input[type="search"] {
    padding: 10px;
    margin-right: 5px;
    border: none;
}
/* ----------------------------------
コンテンツブロック
---------------------------------- */
#wrapper #container {
    width: 1100px;
    margin: 50px auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    box-sizing: border-box;
}
#wrapper #container #content {
    width: 80%;
}
#wrapper #container #sidebar {
    width: 18%;
}
/* ----------------------------------
サイドナビ
---------------------------------- */
.wp-block-group .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow .wp-block-heading {
    background: #000000;
    color: #FFFFFF;
    text-align: center;
    padding: 10px 0;
}
.wp-block-group ul, .wp-block-group ol {
    margin-block-start: 10px !important;
    margin-bottom: 30px !important;
}
.wp-block-group ul li, .wp-block-group ol li {
    padding-left: 10px;
    margin-bottom: 10px;
}
.wp-block-group ul li a, .wp-block-group ol li a {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}
/* ----------------------------------
ハンバーグメニュー
---------------------------------- */
/* ========= スマホ用オフキャンバス：上書き強化 ========= */
@media (max-width: 768px) {
    /* ハンバーガー */
    .hm-btn {
        position: fixed !important;
        right: 14px;
        top: 14px;
        width: 44px;
        height: 44px;
        z-index: 10001; /* さらに上げる */
        border: 0;
        background: #222;
        border-radius: 8px;
        display: grid;
        place-items: center;
    }
    .hm-btn span {
        display: block;
        width: 22px;
        height: 2px;
        background: #fff;
        border-radius: 2px;
        transition: .25s;
    }
    .hm-btn span + span {
        margin-top: 5px;
    }
    .hm-btn[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .hm-btn[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }
    .hm-btn[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
    /* 暗幕 */
    .hm-backdrop {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0, 0, 0, .45);
        z-index: 10000;
    }
    /* ←ここが最重要：テーマの#sidebarを“固定＆オフキャンバス”に強制 */
    #sidebar {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        width: 82vw !important;
        max-width: 360px !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 10002 !important;
        overflow: auto !important;
        box-shadow: -8px 0 24px rgba(0, 0, 0, .2) !important;
        transform: translateX(100%) !important;
        transition: transform .28s ease !important;
        padding: 18px !important;
    }
    #sidebar.is-open {
        transform: translateX(0) !important;
    }
    /* スマホではメインを全幅に */
    #container {
        display: block !important;
    }
    #content {
        width: 100% !important;
    }
}
/* PCではボタン＆暗幕を非表示 */
@media (min-width: 769px) {
    .hm-btn, .hm-backdrop {
        display: none !important;
    }
}
/* ----------------------------------
　サイドナビ
---------------------------------- */
.wp-block-group .wp-block-group__inner-container.is-layout-flow.wp-block-group-is-layout-flow .wp-block-heading {
    background: #000000;
    color: #FFFFFF;
    text-align: center;
    padding: 10px 0;
	font-family: "Shippori Mincho", serif;
}
.wp-block-group ul, .wp-block-gro	up ol {
    margin-block-start: 10px !important;
    margin-bottom: 30px !important;
}
.wp-block-group ul li, .wp-block-group ol li {
    padding-left: 10px;
    margin-bottom: 10px;
}
.wp-block-group ul li a, .wp-block-group ol li a {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}
#sidebar ul li form .wp-block-search__label {
	background: #000000;
    color: #FFFFFF;
    text-align: center;
    padding: 10px 0;
	font-family: "Shippori Mincho", serif;
	width: 100%;
	display: block;
}
#sidebar ul li .wp-block-latest-posts__list,#sidebar ul li .wp-block-archives-list,#sidebar ul li .wp-block-categories-list {
	list-style-type: disc;   /* 塗りつぶし丸 */
    list-style-position: inside; /* デフォルト。必要なら明示 */
}
/* ----------------------------------
　投稿ページ
---------------------------------- */
#content header .entry-title {
	text-align: center;
	font-size: 2em;
	font-family: "Shippori Mincho", serif;
	margin-bottom: 40px;
}
#content header .entry-title a {
	text-decoration: none;
	color: inherit;
}
#content .wp-post-image {
	width: 100%;
	height: auto;
	margin: 0 auto 40px;
}
#content .entry-content .wp-block-heading {
    background: #000000;
    color: #FFFFFF;
    font-family: "Shippori Mincho", serif;
    font-size: 1.5em;
    padding: 2% 0 2% 5%;
    width: 100%;
    margin-bottom: 15px;
}
#content .entry-content p {
    line-height: 180%;
    margin-bottom: 40px;
}
#content .entry-content .wp-block-quote {
    border: 1px solid #CCC;
    margin-bottom: 40px;
    box-sizing: border-box;
}
#content .entry-content .wp-block-quote p {
    margin-bottom: 0px;
    line-height: 180%;
    padding: 3%;
}
#content .entry-content .wp-block-list {
    list-style-type: disc;   /* 塗りつぶし丸 */
    list-style-position: inside; /* デフォルト。必要なら明示 */
    line-height: 180%;
    margin-bottom: 40px;
}
#content .entry-content .wp-block-image, #content .entry-content .wp-block-embed {
    max-width: 800px;
    height: auto;
    margin: 0 auto 40px;
    display: block;
}