

:root {
    color-scheme: light dark;
}

body {
    margin: 0 0 520px 0;
    background-color: #f4f4f4;
    color: #000000;
    font-size: 16px;

    /* ★フォント適用（custom/preset/google 全対応） */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
}

body {
    background-color: light-dark(#f4f4f4, #f4f4f4);
    color: light-dark(#000000, #000000);
}

form input,
form textarea,
form select,
form button {
    color-scheme: light;

    /* ★フォーム類も同じフォントに */
    font-family: inherit;
}

a {
    color: #0000FF;
    color: light-dark(
        #0000FF,
        #0000FF    );
}
a:visited {
    color: #663399;
    color: light-dark(
        #663399,
        #663399    );
}
a:active {
    color: #FF0000;
    color: light-dark(
        #FF0000,
        #FF0000    );
}

.quote-text {
    color: #666666;
    color: light-dark(
        #666666,
        #666666    );
}

.comment-text {
    color: #333333;
    color: light-dark(
        #333333,
        #333333    );
}

.note-text {
    color: #333333;
    color: light-dark(
        #333333,
        #333333    );
}

.name {
    color: #007700;
    color: light-dark(
        #007700,
        #007700    );
}

.cap {
    color: #ff4500;
    color: light-dark(
        #ff4500,
        #ff4500    );
}

.deleted-message {
    color: #ff0000;
    color: light-dark(
        #ff0000,
        #ff0000    );
}

.error-message {
    color: #ff0000;
    color: light-dark(
        #ff0000,
        #ff0000    );
}

hr {
    border: none;
    border-top: 1px solid #000000;
    border-top-color: light-dark(
        #000000,
        #000000    );
}

.embed-post {
    background-color: #f4f4f4;
    color: #000000;
    background-color: light-dark(
        #f4f4f4,
        #f4f4f4    );
    color: light-dark(
        #000000,
        #000000    );
}

mark {
    background-color: transparent;
    color: inherit;
    margin: 0 5px;
}

/* パンくずリスト */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    list-style: none;
    padding-left: 0;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
}

.breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    padding: 0 0.5rem;
    content: ">";
    vertical-align: middle;

    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

/* 最後のパンくずリスト項目のリンクを無効にする */
.breadcrumb-item:last-child a {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
}

/* 外部サイト埋め込み */
.embed-contents {
    position: relative;
    width: min(100%, 600px);
    max-width: 600px;
    box-sizing: border-box;
}

.nieru-external-embed {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .65rem;
    margin: .5rem 0;
    padding: .75rem;
    border: 1px solid rgba(127, 127, 127, .35);
    border-radius: 8px;
    background: rgba(127, 127, 127, .06);
    overflow: hidden;
}

.nieru-external-embed--sensitive {
    border-color: rgba(180, 45, 45, .55);
    background: rgba(180, 45, 45, .07);
}

.nieru-external-embed--sensitive .nieru-external-embed-load {
    color: #a51f2d;
    background: rgba(255, 255, 255, .72);
}

.nieru-external-embed--amazon {
    grid-template-columns: 6rem minmax(0, 1fr);
    align-items: center;
    border-color: rgba(255, 153, 0, .55);
    background: rgba(255, 153, 0, .08);
}

.nieru-amazon-product-media {
    display: grid;
    width: 6rem;
    height: 6rem;
    place-items: center;
    overflow: hidden;
    border-radius: 6px;
    background: #fff;
}

.nieru-amazon-product-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nieru-amazon-product-mark {
    position: relative;
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    justify-self: center;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: #232f3e;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.nieru-amazon-product-mark::after {
    position: absolute;
    right: .55rem;
    bottom: .55rem;
    left: .55rem;
    height: 3px;
    border-radius: 2px;
    background: #ff9900;
    content: "";
}

.nieru-amazon-product-id,
.nieru-amazon-associate-label,
.nieru-amazon-price-notice,
.nieru-amazon-content-notice {
    display: block;
    color: inherit;
    font-size: .8rem;
    line-height: 1.4;
    opacity: .72;
    overflow-wrap: anywhere;
}

.nieru-amazon-product-title {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: .3rem;
    color: inherit;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.nieru-amazon-product-price {
    display: block;
    margin-bottom: .2rem;
    color: #b12704;
    font-size: 1rem;
    line-height: 1.35;
}

.nieru-amazon-product-button {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    padding: .4rem .8rem;
    border: 1px solid #d47f00;
    border-radius: 6px;
    color: #111;
    background: #ffb33b;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
}

.nieru-amazon-product-button:hover,
.nieru-amazon-product-button:focus-visible {
    background: #ff9900;
}

.nieru-amazon-associate-label {
    margin-top: .45rem;
}

.nieru-amazon-price-notice,
.nieru-amazon-content-notice {
    margin-top: .25rem;
    font-size: .7rem;
}

@media (max-width: 420px) {
    .nieru-external-embed--amazon {
        grid-template-columns: 4.75rem minmax(0, 1fr);
        padding: .65rem;
    }

    .nieru-amazon-product-media {
        width: 4.75rem;
        height: 4.75rem;
    }
}

.nieru-external-embed-thumbnail {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 6px;
    background: rgba(127, 127, 127, .14);
}

.nieru-external-embed--vertical .nieru-external-embed-thumbnail {
    width: min(100%, 320px);
    aspect-ratio: 9 / 16;
}

.nieru-external-embed-body {
    min-width: 0;
}

.nieru-external-embed-label {
    display: block;
    margin: 0 0 .35rem;
    font-size: .95rem;
    line-height: 1.35;
}

.nieru-external-embed-summary,
.nieru-external-embed-error {
    margin: .35rem 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

.nieru-external-embed-error {
    font-size: .88rem;
}

.nieru-external-embed-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    margin-top: .5rem;
}

.nieru-external-embed-load {
    min-height: 2.5rem;
    padding: .45rem .8rem;
    border: 1px solid currentColor;
    border-radius: 6px;
    color: inherit;
    background: transparent;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.nieru-external-embed-load:hover,
.nieru-external-embed-load:focus-visible {
    background: rgba(127, 127, 127, .12);
}

.nieru-external-embed-load:disabled {
    cursor: wait;
    opacity: .65;
}

.nieru-external-embed.is-loaded {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
}

.nieru-external-embed-frame {
    display: block;
    width: 100%;
    max-width: 600px;
    border: 0;
    background: rgba(127, 127, 127, .08);
}

.nieru-external-embed-frame--video {
    aspect-ratio: 16 / 9;
    height: auto;
}

.nieru-external-embed-frame--vertical {
    width: min(100%, 360px);
    aspect-ratio: 9 / 16;
    height: auto;
    min-height: 480px;
}

.nieru-external-embed-frame--social {
    height: 560px;
}

.nieru-external-embed-frame--audio-compact {
    height: 152px;
}

.nieru-external-embed-frame--audio {
    height: 352px;
}

.nieru-external-embed-media {
    display: block;
    max-width: 100%;
}

.nieru-external-embed-media--image,
.nieru-external-embed-media--video {
    width: auto;
    max-height: min(70vh, 720px);
}

.nieru-external-embed-media--audio {
    width: 100%;
}

/* Floating video player */
html.nieru-floating-embed-enabled .nieru-floating-embed-placeholder {
    display: block;
    max-width: 100%;
    margin: .5rem 0;
}

html.nieru-floating-embed-enabled .nieru-floating-embed-placeholder[hidden] {
    display: none !important;
}

html.nieru-floating-embed-enabled .nieru-external-embed.is-loaded.nieru-floating-embed-active {
    position: fixed;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    z-index: 2147483000;
    width: min(420px, calc(100vw - 24px));
    max-width: none;
    max-height: calc(100vh - 24px);
    margin: 0;
    border-radius: 8px;
    background: #000;
    box-shadow: 0 12px 36px rgba(0, 0, 0, .38);
    overflow: hidden;
    isolation: isolate;
}

html.nieru-floating-embed-enabled .nieru-external-embed--vertical.is-loaded.nieru-floating-embed-active {
    width: min(220px, calc(100vw - 24px));
}

html.nieru-floating-embed-enabled .nieru-floating-embed-active .nieru-external-embed-frame {
    width: 100%;
    max-width: none;
}

html.nieru-floating-embed-enabled .nieru-floating-embed-control {
    display: none;
}

html.nieru-floating-embed-enabled .nieru-floating-embed-active .nieru-floating-embed-control {
    position: absolute;
    top: 8px;
    z-index: 2;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, .72);
    font: 700 22px/1 sans-serif;
    cursor: pointer;
}

html.nieru-floating-embed-enabled .nieru-floating-embed-active .nieru-floating-embed-return {
    right: 48px;
    font-size: 19px;
}

html.nieru-floating-embed-enabled .nieru-floating-embed-active .nieru-floating-embed-dismiss {
    right: 8px;
}

html.nieru-floating-embed-enabled .nieru-floating-embed-active .nieru-floating-embed-control:hover,
html.nieru-floating-embed-enabled .nieru-floating-embed-active .nieru-floating-embed-control:focus-visible {
    background: rgba(0, 0, 0, .92);
}

@media (max-width: 640px) {
    html.nieru-floating-embed-enabled .nieru-external-embed.is-loaded.nieru-floating-embed-active {
        right: max(8px, env(safe-area-inset-right));
        bottom: max(8px, env(safe-area-inset-bottom));
        width: min(320px, calc(100vw - 16px));
        max-height: calc(100vh - 16px);
    }

    html.nieru-floating-embed-enabled .nieru-external-embed--vertical.is-loaded.nieru-floating-embed-active {
        width: min(200px, calc(100vw - 16px));
    }
}

.nieru-external-embed-social-host {
    width: min(100%, 600px);
    max-width: 600px;
    margin: .5rem 0;
    overflow-wrap: anywhere;
}

.nieru-twitter-plaintext {
    white-space: pre-wrap;
}

.img-thumbnail,
.embed-youtube-img,
.embed-image,
.video-thumbnail {
    max-width: 128px;
    height: auto;
}

@media (max-width: 640px) {
    .nieru-external-embed {
        padding: .65rem;
    }

    .nieru-external-embed-frame--vertical {
        min-height: 440px;
    }

    .nieru-external-embed-frame--social {
        height: 520px;
    }
}

img.emoji {
    height: 1em;
    width: 1em;
    margin: 0 .05em 0 .1em;
    vertical-align: -0.1em;
}

img {
    max-height: 512px;
}

@import url('//fonts.googleapis.com/css2?family=Kaisei+Opti');@import url('//fonts.googleapis.com/css2?family=MuseoModerno');@import url('//fonts.googleapis.com/css2?family=Limelight');@import url('//fonts.googleapis.com/css2?family=BIZ+UDMincho');:root{--logo-kanji:'Kaisei Opti';--logo-alphabet:'LimeLight';--sub-alphabet:'MuseoModerno';--font-base:'Hiragino Maru Gothic ProN',system-ui;font-size:clamp(.75rem,calc(.64rem + .47vw),.88rem)}*{font-synthesis:none}*:not(#header,.nav_icon){box-sizing:border-box}body{font-size:var(--size-base,1rem);font-family:var(--sub-alphabet),var(--font-base);letter-spacing:var(--ls-main,.1rem)}h6,nav,input:read-write,textarea,select,:is(a,button):is(.btn,.btn2),.btn::after{font:inherit;letter-spacing:inherit}.entry_list ul li h4 a,#jsid__dream a,small{font-family:inherit}body::before{height:100vh}h1,#header h1.site_title,h2,h3,h4,summary,.entry_list ul li .date{font-family:var(--logo-alphabet),var(--logo-kanji);letter-spacing:var(--ls-h1,.1em)}#header h1.site_title{position:revert;display:flex;place-content:center;place-items:center;text-align:center;font-size:var(--size-h1,2rem);width:fit-content;min-width:5em;max-width:min(80vw,15em);height:auto;aspect-ratio:1/1;margin:max(15vh,5em) auto;padding:min(5vmin,1em);border:0;border-radius:50%}#header::before{content:none}.site_title_bg,.profile,div[class*="_lis"]{max-width:100%}h2,h3,h4{letter-spacing:var(--ls-header,.1em)}h2,h3,.main .site_title{font-size:var(--size-header,1.3rem)}h2,.top_kiriban,.main .site_title,.main .top_icons,.main_links{text-align:center}h2:has(~.novel){--i:5rem}h2{margin-block:var(--i,0 4rem)}h4{font-size:var(--size-h4,1.16rem)}h4:has(~.label){margin:0}h6{width:fit-content;margin:0 0 -1em;padding:.2em 2em;border-block:solid 1px}.nav_site_title:has(+.nav_icon){line-height:1.7}input:read-write,textarea,select,summary,.main,.novel .pager li,.btn,.btn2{border-radius:6px !important}input:read-write{height:auto;padding:.4em}textarea{height:25vh}:is(a,button).btn2{--h:3em;width:3em !important;padding:0}input+button.btn{--q:7em}#header:not(:has(img)),.novel .pager,.novel .pager ul li{--q:6rem;height:auto;min-height:3rem}.novel .pager li,:is(a,button):is(.btn,.btn2){min-width:var(--q,auto) !important;min-height:var(--h,auto);display:inline-flex !important;place-content:center;place-items:center;gap:.3em}.btn2+form{min-width:auto !important}.form_container{--q:9rem;--s:"Message";--f:0}.multi{--a:end}.search form,.select_date_wrap{--s:"Select";--f:0;width:100%;display:flex;flex-flow:wrap;place-content:var(--a,center);gap:1em;margin:0 !important}select,.form_title,:is(a,button).btn{display:block;width:fit-content;height:2.3rem !important;margin:0 !important}button.btn{font-size:var(--f)}.btn::after{content:var(--s);font-size:1rem}select{line-height:1.3;background:0;color:inherit;text-align:center;text-align-last:center;border:solid 1px}li{--s:"««"}li:nth-child(2){--s:"»»"}li:only-child{--s:"«/»"}.novel .pager a{font-size:0}.novel .pager a::after{content:var(--s);font:2rem/1.4 system-ui}em{font-style:normal;text-emphasis:dot}.la-ul{list-style:square;padding-left:2em}.total_pages{opacity:.3}summary{padding:.5em 1em;border:solid 1px}body div{word-break:revert;overflow-wrap:break-word}.main:has(.novel){--w:90%;--p:4vw;display:grid;grid:none/100%}[class*="ki"]+.main{--j:0}:has(img)+.main{--j:9vmin}.main,.main.cushion{width:min(var(--w,84%),660px);margin-top:var(--mg-main,var(--j,min(20vmin,8em)));margin-inline:auto;padding-inline:min(var(--p,6vw),3em);line-height:2}.main{text-align:justify}h2+[class*="_text"],.main .top_text,.thankyou_txt{width:fit-content;max-width:100%;margin:2em auto;text-align:inherit}nav,.top_icons{line-height:1}.novel_list{--l:1.5}.novel_list ul li{padding:.8em}.novel_info,.entry_text{line-height:var(--l,2)}.dream_settings:has(~.novel){margin-top:0;order:-1}summary,#jsid__dream,.novel_top .novel_info:first-child .toggle_more,#jsid__dream h3.toggle,.chapters ul:not(:has(.toggle_more)){width:fit-content;margin-inline:auto}h3.toggle+div{min-width:24rem}#jsid__dream,.entry_text,.chapters ul:not(:has(.toggle_more)) li,:is(.novel_list,.chapters) li:last-child{border:0 !important}h3.toggle{padding:.4em 1em .4em 1.5em}.novel_text{--n:'Hiragino Mincho ProN','BIZ UDMincho';font:1.17rem/2 var(--n);font-feature-settings:'hkna';letter-spacing:.03em;line-break:loose;hanging-punctuation:allow-end}ruby,em{font-family:var(--n,var(--font-base))}.cushion div:has(a.btn),.entry_list :is(.date,h4,small),h3.toggle,.center:has(.btn){--q:40%;display:flex;place-content:center;place-items:center;gap:.5em;text-align:center}.entry_list ul li .date{font-size:1.6rem;gap:0}.entry_list ul li small{padding-inline:0}.ellipsis a{display:inline !important}.kiriban_wrapper,.toggle_more{min-height:auto !important;margin:0}.toggle_more .clamp{all:revert;display:block !important}.btn2 span,.time,.weekday,.show,.hide,[class*="_lis"] h3:first-child:not(:has(ul)){display:none !important}