@charset "utf-8";
/*
Theme Name: Dream Book 2
Theme URL: https://palppl.daa.jp/
Description: よる子専用のWordpressテーマです。
Author: yoruko
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://palppl.daa.jp/
*/

/* -----------------------------------------------------------------------
root
---------------------------------------------------------------------- */
:root {
    --color-text: #333333;
    --color-base: #F3F4F0;
    --color-basegrey: #CFD0CC;
    --color-brand: #93AB8B;
    --color-bk: #1a1a1a;
    --color-dgrey: #767676;
    --color-grey: #9b9b9b;
    --color-lgrey: #d7d7d7;
    --color-pgrey: #f0f0f0;
    --color-wh: #ffffff;
    --shadow: 10px 10px 24px 0 rgba(50, 50, 50, .1);
}

/* -----------------------------------------------------------------------
reset
---------------------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    background: transparent;
}

ins {
    text-decoration: none;
    color: var(--color-text);
    background-color: #ff9;
}

mark {
    color: var(--color-text);
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted;
}

table {
    border-spacing: 0;
    border-collapse: collapse;
}

hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}

/* -----------------------------------------------------------------------
page design
---------------------------------------------------------------------- */
html {
    font-size: 16px;
    scroll-padding-top: calc((var(--headerHeight, 95px)) + 20px);
    /* 95px：変数が取得できなかった場合の初期値 */
    /* 20px：スクロール時の上部のゆとり */
}

body {
    color: var(--color-text);
    font-family: "EB Garamond", "Zen Old Mincho", serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: .1em;
    line-height: 1.6;
    text-align: justify;
    word-break: break-all;
    background-color: var(--color-base);
}

img {
    max-width: 100%;
    height: auto;
}

/* parts-------------------- */
a:link,
a:visited {
    color: var(--color-text);
    text-decoration: underline;
    transition: 0.3s;
    /* マウスホバー時のアニメーション */
}

a:hover {
    color: var(--color-brand);
}

a img {
    transition: 0.3s;
    /* マウスホバー時のアニメーション */
}

a img:hover {
    opacity: 0.5;
    /* マウスホバー時に半透明に */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
    line-height: 1.3;
}

/* 筆記体英字 */
.tangerine {
    font-family: "Tangerine", cursive;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
}

/* 線ありの見出し */
.index-line {
    position: relative;
    overflow: hidden;
}

.index-line::after {
    content: '';
    width: 100%;
    height: 1px;
    margin-left: 16px;
    background-color: var(--color-bk);
    position: absolute;
    top: 50%;
}

.btn-star a {
    display: block;
    width: 280px;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
}

.btn-star a::before,
.btn-star a::after {
    content: '';
    display: block;
    width: 280px;
    height: 20px;
    background-image: url(_img/btn-star-bl.svg);
    background-position: center center;
    background-repeat: no-repeat;
}

.btn-star a::before {
    padding-bottom: 2em;
}

.btn-star a::after {
    padding-top: 2em;
}

.frame {
    min-height: auto;
    background: url(_img/bg-frame-lt.png), url(_img/bg-frame-rt.png), url(_img/bg-frame-rb.png), url(_img/bg-frame-lb.png) no-repeat;
    background-position: left 16px top 16px, right 16px top 16px, right 16px bottom 16px, left 16px bottom 16px;
    background-size: 100px 95px;
    background-repeat: no-repeat;
    background-color: var(--color-base);
}

/* -----------------------------------------------------------------------
layout
---------------------------------------------------------------------- */
.wrap {
    display: flex;
    justify-content: space-between;
}

.cnt-left50,
.cnt-right50 {
    width: 50%;
    padding: 6em;
}

.cnt-left30 {
    width: 400px;
    flex-shrink: 0;
}

.cnt-right70 {
    width: 100%;
    padding: 6em;
}

/* -----------------------------------------------------------------------
header
---------------------------------------------------------------------- */
header {
    order: 3;
    position: sticky;
    top: 0;
    z-index: 9999;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

header p.sitelogo img {
    width: 92px;
    height: 111px;
}

header p.sitelogo-mini img {
    width: 21px;
    height: 26px;
}

/* ナビゲーションメニュー-------------------- */
header .pcmenu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1em;
    width: 100%;
    height: 100%;
}

header .pcmenu.pcmenu-mini {
    justify-content: normal;
    padding: 2em 1em 0;
    height: calc(100% - 2em);
    border-left: solid 1px var(--color-basegrey);
    font-size: 0.85em;
    background-color: var(--color-base);
}

/* メニュー共通 */
header .pcmenu ul,
header .spmenu ul {
    list-style: none;
}

header .pcmenu ul a {
    position: relative;
    color: var(--color-text);
    text-decoration: none;
}

header .pcmenu ul a:hover {
    color: var(--color-brand);
}

header .pcmenu #hdrpc-menu {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 1.5em;
}

header .pcmenu #hdrpc-menu ul a::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--color-brand);
    bottom: -2px;
    left: 0;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform 0.3s;
}

header .pcmenu #hdrpc-menu ul a:hover::after {
    transform: scale(1, 1);
}

header .pcmenu ul li {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

header .pcmenu ul.sub-menu {
    margin-left: 0.5em;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

header .pcmenu ul.sub-menu li {
    position: relative;
    padding-left: 1.5em;
}

header .pcmenu ul.sub-menu li::before {
    position: absolute;
    left: 0;
    width: 1em;
    height: 100%;
    background-image: radial-gradient(circle, var(--color-text) 1px, transparent 1px);
    background-position: 0;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    content: "";
}

/* 1行メニューver */
header .pcmenu #hdrpc-menu-mini {
    display: flex;
    gap: 0.75em;
    writing-mode: vertical-rl;
}

header .pcmenu #hdrpc-menu-mini ul.sub-menu {
    display: none;
}

header .pcmenu #hdrpc-menu-mini li {
    padding-bottom: 0.75em;
    border-bottom: 1px solid var(--color-basegrey);
}

header .pcmenu #hdrpc-menu-mini li:last-of-type {
    border-bottom: none;
}

/* スマホメニュー-------------------- */
/* 表示の処理 */
header .spmenu {
    display: none;
    position: fixed;
    top: 1em;
    right: 1em;
    z-index: 9998;
}

header .spmenu .gnav-sp {
    position: fixed;
    z-index: 9998;
    top: 0;
    right: -200%;
    /* はじめは欄外に */
    width: calc(100% - 4em);
    padding: 4em 2em 0;
    background-color: var(--color-wh);
    transition: all 0.55s;
    /* 動き */
    height: calc(100vh - 4em);
    overflow-y: scroll;
}

/* アクティブクラスがついた時の処理 */
header .spmenu .gnav-sp.panelactive {
    right: 0;
}

/* ナビゲーションボタンの処理 */
.openbtn {
    position: relative;
    z-index: 9999;
    /* ボタンを最前面に */
    cursor: pointer;
    width: 28px;
    height: 36px;
    margin: 0 0 0 auto;
}

.openbtn span {
    /* ×に変化 */
    display: inline-block;
    transition: all .4s;
    position: absolute;
    height: 1px;
    background-color: var(--color-text);
    width: 100%;
}

.openbtn span:nth-of-type(1) {
    top: 10px;
}

.openbtn span:nth-of-type(2) {
    top: 18px;
}

.openbtn span:nth-of-type(3) {
    top: 26px;
}

.openbtn.active span:nth-of-type(1) {
    top: 13px;
    left: 0;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
}

.openbtn.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
    top: 25px;
    left: 0px;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
}

header .spmenu .sitelogo-sp {
    display: flex;
    justify-content: center;
    margin-bottom: 3em;
}

header .spmenu ul.menu {
    font-size: 2em;
    border-top: 1px solid var(--color-basegrey);
}

header .spmenu ul.menu li {
    padding: 0.5em 0;
    border-bottom: 1px solid var(--color-basegrey);
}

header .spmenu ul.menu li a {
	display: block;
    color: var(--color-text);
    text-decoration: none;
}

header .spmenu ul.sub-menu {
    font-size: 0.75em;
}

header .spmenu ul.sub-menu li {
    width: calc(100% - 1.5em);
    border: none;
    padding: 0.5em 0 0.5em 1.5em;
    position: relative;
}

header .spmenu ul.sub-menu li::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 100%;
    background-image: radial-gradient(circle, var(--color-text) 1px, transparent 1px);
    background-position: 0;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    content: "";
}

header .spmenu .btn-star {
    margin: 3em 0;
}

header .spmenu .btn-star a {
    font-size: 1em;
}

/* -----------------------------------------------------------------------
小説カテゴリごとに画像が変更になる箇所
---------------------------------------------------------------------- */
.imgbg {
    background-image: url(_img/img-flower-y.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.imgbg.bgfix {
    background-attachment: fixed;
}

.imgbg.kmt-tmg {
    background-image: url(_img/novel/kmt-tmg.png);
}

.imgbg.kmt-tmg-continue {
    background-image: url(_img/novel/kmt-tmg-continue.png);
}

.imgbg.kmt-tmg-student {
    background-image: url(_img/novel/kmt-tmg-student.png);
}

.imgbg.kmt-ren {
    background-image: url(_img/novel/kmt-ren.png);
}

.imgbg.kmt-shino {
    background-image: url(_img/novel/kmt-shino.png);
}

.imgbg.kmt-sina {
    background-image: url(_img/novel/kmt-sina.png);
}

.imgbg.kmt-tan {
    background-image: url(_img/novel/kmt-tan.png);
}

.imgbg.kmt-zen {
    background-image: url(_img/novel/kmt-zen.png);
}

.imgbg.kmt-ino {
    background-image: url(_img/novel/kmt-ino.png);
}

.imgbg.bll-rin {
    background-image: url(_img/novel/bll-rin.jpg);
}

.imgbg.bll-sae {
    background-image: url(_img/novel/bll-sae.jpg);
}

.imgbg.bll-ng {
    background-image: url(_img/novel/bll-ng.jpg);
}

.imgbg.hq-osm {
    background-image: url(_img/novel/hq-osm.jpg);
}

.imgbg.hq-atm {
    background-image: url(_img/novel/hq-atm.jpg);
}

.imgbg.hq-kt {
    background-image: url(_img/novel/hq-kt.jpg);
}

.imgbg.enen-bn {
    background-image: url(_img/novel/enen-bn.jpg);
}

/* -----------------------------------------------------------------------
トップページ
---------------------------------------------------------------------- */
/* layout-------------------- */
main.cnt{
    overflow: hidden;
}

/* top-mv-------------------- */
.top-mv {
    display: flex;
    height: 100vh;
}

.top-mv .cnt-left50,
.top-mv .cnt-right50 {
    display: flex;
    justify-content: center;
    padding: 0 8em;
}

.top-mv .cnt-left50 {
    align-items: center;
	position: relative;
	overflow: hidden;
}

.mv-bg {
	position: absolute;
	inset: 0;
    background-image: url(_img/img-flower-y.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    filter: blur(12px);
    transition: filter 1s ease;
}

body.is-loaded .mv-bg {
    filter: blur(0);
}

.top-mv .inner {
  position: relative;
  z-index: 2;
}

/* アクセスカウンターと開始日 */
.top-mv .top-history {
    font-size: 0.85em;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 2em;
}

.top-mv .cnt-right50 {
    flex-direction: column;
    gap: 3em;
}

/* トップメニュー */
.top-mv .top-memu {
    margin-top: 1em;
    padding-bottom: 2em;
    border-bottom: 1px solid var(--color-bk);
}

.top-mv .top-memu a {
    text-decoration: none;
}

.top-mv .top-memu h2 {
    font-size: 3em;
    margin-bottom: 0.5em;
}

.top-mv .top-memu .top-menucnt {
    display: flex;
    justify-content: space-between;
    gap: 1em 4em;
}

.top-mv .top-memu .top-menucnt ul {
    list-style: none;
    line-height: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1em;
}

.top-mv .top-memu .top-menucnt ul.main-menu {
    width: calc(50% - 1em);
}

.top-mv .top-memu .top-menucnt ul.sub-menu {
    margin-left: 0.5em;
    gap: 1.5em;
}

.top-mv .top-memu .top-menucnt ul.sub-menu li {
    position: relative;
    padding-left: 1.5em;
}

.top-mv .top-memu .top-menucnt ul.sub-menu li::before {
    position: absolute;
    left: 0;
    width: 1em;
    height: 100%;
    background-image: radial-gradient(circle, var(--color-text) 1px, transparent 1px);
    background-position: 0;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    content: "";
}

/* Last up */
.top-mv .top-lastup {
    width: 100%;
    padding-bottom: 1em;
    border-bottom: 1px solid var(--color-bk);
}

.top-mv .top-lastup h2 {
    margin-bottom: 0.5em;
}

.top-mv .top-lastup ul li {
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.top-mv .top-lastup ul li a {
    text-decoration: none;
}

.top-mv .top-lastup ul li div {
    flex-shrink: 0;
}

.top-mv .top-lastup ul li span {
    width: 100%;
    height: 1em;
    background-image: radial-gradient(circle, var(--color-text) 1px, transparent 1px);
    background-position: 0;
    background-repeat: repeat-x;
    background-size: 4px 2px;
}

/* top-novel-------------------- */
.top-novel{
    padding: 6em;
    background-color: var(--color-wh);
}

.top-novel a{
    text-decoration: none;
}

.top-novel ul{
    list-style: none;    
}

/* Novelsタイトル */
.top-novel .ttl{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5em 4em;
    margin-bottom: 2em;
}

.top-novel .ttl h2{
    font-size: 3em;
}

/* Novels原作ごとリンク */
.top-novel .ttl ul.novel-shortlink {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}

.top-novel .ttl ul.novel-shortlink a{
display: block;
    font-size: 0.85em;
    text-align: center;
    padding: 0.5em 1em;
    box-shadow: var(--shadow);
    border-radius: 0.25em;
    background-color: var(--color-wh);
    border: 1px solid var(--color-basegrey);
}

.top-novel .ttl ul.novel-shortlink a:hover{
    box-shadow: none;
}

/* Novels新着 */
/* スライダー */
.top-novel .novel-swiper{
    width: calc(100% - 4em);
    position: relative;
    padding: 4em 2em 6em;
    background-color: var(--color-base);
}

.top-novel .novel-swiper .novel-swiper-ui{
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    bottom: 1em;
}
.top-novel .novel-swiper .novel-swiper-ui .novel-swiper-button{
    display: flex;
    gap: 0.5em;
}

/* 次へ前へボタン */
.top-swiper-button.swiper-button-next,
.top-swiper-button.swiper-button-prev {
    position: static;
    width: 80px;
    height: 32px;
}

.top-swiper-button.swiper-button-next:after,
.top-swiper-button.swiper-button-prev:after {
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 999px;
    background-image: url('_img/swiper-button-next.svg');
    background-position: center center;
    background-size: 60%;
    background-repeat: no-repeat;
    background-color: var(--color-wh);
    border: 1px solid var(--color-basegrey);
    transition: 0.3s;
    /* マウスホバー時のアニメーション */
}

.top-swiper-button.swiper-button-prev:after {
    background-image: url('_img/swiper-button-prev.svg');
}

.top-swiper-button.swiper-button-next:hover:after,
.top-swiper-button.swiper-button-prev:hover:after {
    background-color: var(--color-basegrey);
}

/* リスト本体 */
.top-novel .novel-list{
    text-align: center;
}

.top-novel .novel-list .novel-swiper{
    position: relative;
}

.top-novel .novel-list .swiper-slide{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
}

.top-novel .novel-list .date,
.top-novel .novel-list .series{
    font-size: 0.85em;
}

.top-novel .novel-list .rotate__cont,
.top-novel .novel-list .rotate__float {
    width: 12px;
    height: 12px;
}

.top-novel .novel-list a .novel-img {
    width: 90px;
    height: 110px;
    border-radius: 55px 55px 0 0;
    margin: 0 auto 1em;
    box-shadow: var(--shadow);
}

.top-novel .novel-list .novel-ttl{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    height: 1.6em;
}

/* top-author-------------------- */
.top-author {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    height: 100vh;
}

.top-author .top-authorcnt {
    display: flex;
    align-items: center;
    gap: 4em;
}

.top-author .top-authorcnt .cnt-left50,
.top-author .top-authorcnt .cnt-right50 {
    width: 400px;
    padding: 0;
}

.top-author .top-authorcnt .ttl {
    margin-bottom: 3em;
}

.top-author .top-authorcnt .ttl-eng {
    margin-bottom: 0.5em;
}

.top-author .top-authorcnt .name-eng {
    font-size: 3em;
}

.top-author .top-authorcnt .name-jp {
    font-size: 1.5em;
}

.top-author .top-anytime {
    margin-top: 2em;
    padding-bottom: 1em;
    border-bottom: 1px solid var(--color-text);
}

.top-author .top-anytime h2 {
    font-size: 3em;
    margin-bottom: 0.25em;
}

.top-author .top-anytime .top-anytime-post a {
    text-decoration: none;
}

.top-author .top-anytime .top-anytime-post .date {
    font-size: 0.85em;
    margin-bottom: 0.5em;
}

.top-author .top-anytime .top-anytime-post .txt {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    height: 1.6em;
}

.rotate__cont {
    position: relative;
    width: 400px;
    height: 400px;
    margin: 0 auto;
}

.rotate__inner-txt {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 17px;
    text-align: center;
    z-index: 1;
    /* 読み上げ機能などに反応するように円より上に配置するため */
}

.rotate__float {
    animation: rotate 12s infinite linear;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* -----------------------------------------------------------------------
parts
---------------------------------------------------------------------- */
/* btn-link-------------------- */
.btn-link {
    display: inline-block;
}

.btn-link a {
    padding: 1em 2em;
    text-decoration: none;
    color: var(--color-wh);
    display: flex;
    align-items: center;
    border-radius: 0;
    transition: 0.3s;
    /* マウスホバー時のアニメーション */
}

.btn-link a::after {
    content: '';
    width: 16px;
    height: 12px;
    background-image: url('_img/icn-arrow.svg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-left: 1em;
}

.btn-link a:hover {
    background-color: var(--color-brand);
}

/* -----------------------------------------------------------------------
footer
---------------------------------------------------------------------- */
footer {
    padding: 6em;
    color: var(--color-wh);
    background-color: var(--color-brand);
}

footer a {
    text-decoration: none !important;
    color: var(--color-wh) !important;
}

/* ロゴ-------------------- */
footer .sitelogo {
    margin-bottom: 1.5em;
}

footer .sitelogo img {
    width: 400px;
    height: 60px;
}

/* ロゴ-------------------- */
footer .txt {
    margin-bottom: 4em;
}

/* フッターメニュー-------------------- */
#ftr-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em 3em;
}

#ftr-menu li {
    width: calc(100% / 5 - 3em);
}

/* サブメニュー */
#ftr-menu .sub-menu {
    list-style: none;
    padding-left: 1em;
}

#ftr-menu .sub-menu li {
    width: 100%;
    position: relative;
    padding-left: 1.5em;
}

#ftr-menu .sub-menu li::before {
    position: absolute;
    left: 0;
    width: 1em;
    height: 100%;
    background-image: radial-gradient(circle, var(--color-wh) 1px, transparent 1px);
    background-position: 0;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    content: "";
}

/* -----------------------------------------------------------------------
フェードインアニメ
---------------------------------------------------------------------- */
.fadeup {
    opacity: 0;
    transform: translateY(-16px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fadeup.is-show {
    opacity: 1;
    transform: translateY(0);
}

/* -----------------------------------------------------------------------
subpage
---------------------------------------------------------------------- */
/* 下層ページのコンテンツエリア-------------------- */
.subpage-cnt {
    display: flex;
    width: 100%;
    min-height: -webkit-fill-available;
}

/* -----------------------------------------------------------------------
固定ページ、投稿ページ共通（post）
---------------------------------------------------------------------- */
/* posthdr-------------------- */
/* 投稿のタイトル */
.post .posthdr .postttl {
    font-size: 3.5em;
    font-weight: 500;
    margin-bottom: 0.5em;
}

.post .posthdr .postttl.tangerine {
    font-size: 8em;
    margin-bottom: 0.25em;
}

/* postbody-------------------- */
.post .postbody *:last-child {
    margin-bottom: 0;
}

/* エディタ内の余白 */
.post .postbody .mbx2 {
    margin-bottom: 2em;
}

.post .postbody .mbx3 {
    margin-bottom: 3em;
}

.post .postbody .mbx4 {
    margin-bottom: 4em;
}

.post .postbody .mbx5 {
    margin-bottom: 4em;
}

.post .postbody .mbx6 {
    margin-bottom: 6em;
}

/* エディタ内の見出し */
.post .postbody .wp-block-heading {
    margin: 2.5em 0 0.5em;
}

.post .postbody .wp-block-heading:first-child {
    margin-top: 0;
}

.post .postbody h1,
.post .postbody h2 {
    font-size: 2em;
    font-weight: 500;
}

.post .postbody h3 {
    font-size: 1.5em;
}

.post .postbody h4 {
    font-size: 1.25em;
}

.post .postbody h5 {
    font-size: 1.25em;
}

.post .postbody h6 {
    font-size: 1.1em;
}

/* エディタ内の段落 */
.post .postbody p {
    margin-bottom: 1em;
}

/* エディタ内の区切り線 */
.post .postbody hr {
    width: 100%;
    height: 1px;
    background: var(--color-basegrey);
    margin: 3em auto;
    border: 0;
}

/* エディタ内のリスト */
.post .postbody ul,
.post .postbody ol {
    list-style: revert;
    margin-left: 1.5em;
    margin-bottom: 1em;
}

.post .postbody ul li::marker {
    color: var(--color-brand);
}

/* エディタ内のテーブル */
.post .postbody .wp-block-table {
    margin-bottom: 1em;
}

.post .postbody table,
.post .postbody table td,
.post .postbody table th {
    border: none;
    border-bottom: 1px solid var(--color-basegrey);
}

.post .postbody table td:first-of-type {
    width: 25%;
}

.post .postbody table th {
    font-weight: 400;
}

.post .postbody .wp-block-table thead {
    border: none;
}

.post .postbody table .t-blue {
    background-color: var(--color-pblue);
}

.post .postbody .t-black table td:first-of-type,
.post .postbody .t-black table th {
    color: var(--color-wh);
    background-color: var(--color-text);
}

/* エディタ内の引用 */
.post .postbody blockquote {
    font-style: italic;
    padding-left: 0.5em;
    border-left: 3px solid var(--color-mgrey);
}

/* エディタ内の詳細 */
.post .postbody .wp-block-details {
    margin: 2em 0;
}

.wp-block-details summary {
    padding-bottom: 1.5em;
    color: var(--color-brand);
}

/* エディタ内のボタン */
.wp-block-buttons {
    margin-bottom: 1em;
}

.wp-block-button a.wp-block-button__link {
    font-size: 1em;
    border-radius: 0.25em;
    text-decoration: none;
    background-color: var(--color-wh);
    box-shadow: var(--shadow);
}

.wp-block-button a.wp-block-button__link:hover {
    box-shadow: none;
}

.wp-block-button a.wp-block-button__link img{
    vertical-align: bottom;
}

/* タイトルロゴ -------------------- */
.ttl-logo {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1.5em;
}

/* -----------------------------------------------------------------------
page
---------------------------------------------------------------------- */
.page-normal{
	width: 100%;
}

/* About me（page-profile.php） -------------------- */
.page-profile .cnt-right70 {
    display: flex;
    gap: 3em;
}

.page-profile .post-wrap {
    width: calc(100% - 3em);
    padding-right: 3em;
    border-right: 1px solid var(--color-basegrey);
}

.page-profile .profile-anytime {
    width: 30%;
}

/* Diary */
.page-profile .profile-anytime ul {
    list-style: none;
}

.page-profile .profile-anytime ul li {
    padding: 1.5em 0;
    border-bottom: 1px solid var(--color-basegrey);
}

.page-profile .profile-anytime ul li .date {
    font-size: 0.85em;
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.5em;
    margin-bottom: 0.5em;
}

/* Diary一覧ボタン */
.page-profile .profile-anytime .wp-block-button{
    margin-top: 2em;
    text-align: center;
}

/* Site mapページ -------------------- */
.group-sitemap {
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: 1px solid var(--color-basegrey);	
}

.group-sitemap a{
	text-decoration: none;
}

.group-sitemap .wp-block-heading{
	margin: 0!important;
}

.group-sitemap p{
	font-size: 1.25em;
}

/* -----------------------------------------------------------------------
single
---------------------------------------------------------------------- */
/* single共通-------------------- */
.single .postdate {
    font-size: 0.85em;
    margin-top: 4em;
}

/* single-novelindex.php、novel-single.php共通-------------------- */
/* エディタ内の小説リスト */
.group-novellink-list,
.group-novellink-num {
    padding-top: 1.5em;
    border-top: 1px solid var(--color-basegrey);
}

.group-novellink {
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid var(--color-basegrey);
}

.group-novellink .date {
    margin-bottom: 0.5em;
}

.group-novellink .date.r18::after {
    content: 'R18';
    display: inline;
    font-size: 0.85em;
    margin-left: 1em;
    padding: 0.2em 0.5em;
    color: var(--color-wh);
    background-color: var(--color-text);
}

.group-novellink .ttl {
    font-size: 2em;
    line-height: 1.3;
	display: flex;
    gap: 0.25em;
}

.group-novellink .ttl a {
    text-decoration: none;
	display:block;
	width: 100%;
}

/* 番号つき目次 */
.group-novellink-num {
    counter-reset: num;
}

.group-novellink-num .group-novellink {
    counter-increment: num;
}

.group-novellink-num .group-novellink .ttl::before {
    display: inline-block;
    content: counter(num) '.';
	flex-shrink: 0;
}

/* ボタン */
.single-novelindex .btn-star,
.single-novel .btn-star {
    margin-top: 4em;
}

/* 背景 */
.single-novelindex .bg,
.single-novel .bg {
    position: fixed;
    background-size: 120%;
    background-position: center bottom;
    z-index: -10;
    top: -40px;
    bottom: -40px;
    left: -40px;
    right: -40px;
    filter: blur(10px);
}

.single-novelindex .bg::after,
.single-novel .bg::after {
    content: "";
    background-color: rgba(0, 0, 0, .15);
    position: fixed;
    z-index: -10;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

/* 目次投稿（single-novelindex.php）-------------------- */
/* 左側 */
.single-novelindex {
    width: 100%;
}

.single-novelindex .cnt-left30 {
    display: flex;
    align-items: center;
    flex-direction: column;
}

/* 表紙 */
.single-novelindex .novel-cover {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 3em;
    color: var(--color-wh);
    position: sticky;
    top: 4em;
}

/* 回転する星 */
.single-novelindex .rotate__cont,
.single-novelindex .rotate__float {
    width: 20px;
    height: 20px;
}

/* 窓 */
.single-novelindex .novel-cover .novel-img {
    width: 270px;
    height: 330px;
    border-radius: 135px 135px 0 0;
    box-shadow: var(--shadow);
}

/* ロゴ */
.single-novelindex .novel-cover .ttl-logo {
    margin-bottom: 6em;
}

/* 小説本文（single-novel.php）-------------------- */
.single-novel {
	overflow: hidden;
}
/* 左側 */
.single-novel .cnt-left30 .post {
    padding: 6em 4em;
}

.single-novel .cnt-left30 .post .postbody {
    font-size: 0.85em;
    margin-top: 0;
}

.single-novel .cnt-left30 h1 {
    font-size: 2.75em;
    text-align: left;
}

.single-novel .cnt-left30 .post .postbody .wp-block-heading {
    margin: 1.5em 0 0.5em;
}

/* 右側 */
.single-novel .cnt-right70 {
	width: calc(100% - 8em - 400px);
    padding: 6em 4em;
}

.single-novel .post-wrap {
    padding: 8em;
    box-shadow: var(--shadow);
    background-color: var(--color-base);
}

/* タイトル */
.single-novel .post .posthdr {
    width: 80%;
    margin: 0 auto;
}

.single-novel .post .posthdr .postttl {
    margin-bottom: 0;
    padding-bottom: 2em;
    font-size: 2em;
    text-align: center;
}

/* 抜粋とタイトルにラインの背景 */
.single-novel .post .posthdr .postttl,
.single-novel .post .posthdr .excerpt {
    background-image: url(_img/line-ornament.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}

/* 抜粋 */
.single-novel .post .posthdr .excerpt {
    text-align: center;
    font-size: 0.85em;
    padding: 1em 0 2em;
}

/* 本文 */
.single-novel .post .postbody {
    margin: 4em 0;
}

/* 投稿日 */
.single-novel .postdate {
    text-align: center;
}

/* 拍手 */
.single-novel .post-clap {
    padding: 8em;
    box-shadow: var(--shadow);
}

.single-novel .post-clap .inner {
    padding: 4em;
    background-color: rgba(255, 255, 255, .9);
    box-shadow: var(--shadow);
}

.single-novel .post-clap .ttl {
    display: flex;
    align-items: center;
	justify-content: center;
	flex-direction: column;
    gap: 1em;
    margin-bottom: 2em;
    text-align: center;
}

.single-novel .post-clap .ttl::after {
    content: '';
    display: block;
    width: 280px;
	height: 20px;
    background-image: url(_img/btn-star-bl.svg);
    background-position: center center;
    background-repeat: no-repeat;
	margin-top: 1em;
}

.single-novel .post-clap .ttl h2 {
    font-size: 4em;
	line-height: 1;
}

.single-novel .post-clap .txt{
	font-size: 0.75em;
}

/* -----------------------------------------------------------------------
archive,category
---------------------------------------------------------------------- */
/* 一覧のタイトル */
.archttl {
    font-size: 3.5em;
    font-weight: 500;
    margin-bottom: 0.5em;
}

/* 1投稿ごとのボックス-------------------- */
.archbox {
    border-bottom: 1px solid var(--color-basegrey);
    padding: 1.5em 0;
}

.archbox:first-of-type {
    border-top: 1px solid var(--color-basegrey);
}

.archbox a {
    text-decoration: none;
}

.archbox .info {
    margin-bottom: 1em;
    display: flex;
    align-items: center;
	flex-wrap: wrap;
    gap: 1em;
}

.archbox .cat {
    font-size: 0.85em;
    display: flex;
	flex-wrap: wrap;
    gap: 0.5em;
}

.archbox .cat a {
    padding: 0.2em 0.5em;
    background-color: var(--color-wh);
}

.archbox .ttl {
    font-size: 2em;
}

/* ページネーション-------------------- */
.archnav {
    margin-top: 2em;
}

.archnav .pagenation {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
    flex-wrap: wrap;
}

.archnav .pagenation li a,
.archnav .pagenation .current {
    padding: 0.5em 1em;
}

.archnav .pagenation a {
    text-decoration: none;
}

.archnav .pagenation .current {
    background-color: var(--color-pblue);
}

/* Novel（category-novel.php）-------------------- */
/* 左側 */
.cat-novel .cnt-left30 {
    position: sticky;
    height: 100vh;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3em;
}

/* ページ内メニュー */
.cat-novel ul.novel-shortlink {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}

.cat-novel ul.novel-shortlink li {
    width: 100%;
}

.cat-novel ul.novel-shortlink li a {
    display: block;
    text-align: center;
    padding: 0.5em 1em;
    text-decoration: none;
    font-size: 1.25em;
    box-shadow: var(--shadow);
    border-radius: 0.15em;
    background-color: var(--color-wh);
}

.cat-novel ul.novel-shortlink li a:hover {
    box-shadow: none;
}

/* 右側 */
.cat-novel .cnt-right70 {}

/* h1 */
.cat-novel h1.pagettl {
    font-size: 8em;
    margin-bottom: 0.1em;
}

.cat-novel a.caution {
    font-size: 0.85em;
    text-decoration: none;
    margin-top: 1em;
    padding: 0.5em 1em;
    border-radius: 0.25em;
    border: 1px solid var(--color-text);
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 0.5em;
}

.cat-novel a.caution::after {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    background-image: url(_img/icn-arrow.svg);
    background-repeat: no-repeat;
    background-position: center center;
}

/* 新着 */
.cat-novel .novel-newarrival {
    margin-top: 4em;
}

.cat-novel .novel-newarrival h2 {
    font-size: 2.5em;
    margin-bottom: 0.5em;
}

.cat-novel .novel-newarrival ul {
    list-style: none;
    display: flex;
    gap: 4em;
}

.cat-novel .novel-newarrival ul li {
    width: 100%;
}

.cat-novel .novel-newarrival ul li a {
    text-decoration: none;
}

.cat-novel .novel-newarrival ul li .ttl {
    font-size: 1.5em;
    margin-bottom: 0.5em;
    overflow: hidden;
    line-height: 1.5em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    height: 1.5em;
}

.cat-novel .novel-newarrival ul li .date {
    margin-bottom: 0.5em;
}

.cat-novel .novel-newarrival ul li .caption {
    font-size: 0.85em;
    margin-bottom: 2em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    height: 3.2em;
}

.cat-novel .novel-newarrival ul li .series {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cat-novel .novel-newarrival ul li .series::before {
    left: 0;
    top: 0.15em;
    width: 100%;
    height: 1em;
    background-image: radial-gradient(circle, var(--color-text) 1px, transparent 1px);
    background-position: 0;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    content: "";
}

.cat-novel .novel-newarrival ul li .series a {
    flex-shrink: 0;
}

/* 原作見出し */
.cat-novel .original-ttl {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin: 6em 0 3em;
}

.cat-novel .original-ttl h2 {
    width: 100%;
    font-size: 3em;
    text-align: center;
    margin-bottom: 0.5em;
    padding-bottom: 0.75em;
    background-size: 280px 20px;
    background-image: url(_img/btn-star-bl.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
}

/* キャラごとのブロック */
.cat-novel .novel-listlink {
    margin-bottom: 3em;
}

.cat-novel .novel-listlink a {
    text-decoration: none;
}

/* キャラごとのタイトル */
.cat-novel .novel-listlink h3 {
    font-size: 1.75em;
    margin-bottom: 0.5em;
}

.cat-novel .novel-listlink h3 a{
	display: block;
}

/* キャラ名+リンク */
.cat-novel .novel-listlink .index {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
}

/* キャラ名 */
.cat-novel .novel-listlink .index h4 {
    font-size: 1.25em;
    flex-shrink: 0;
}

.cat-novel .novel-listlink .index span {
    width: 100%;
    height: 1em;
    background-image: radial-gradient(circle, var(--color-text) 1px, transparent 1px);
    background-position: 0;
    background-repeat: repeat-x;
    background-size: 4px 2px;
}

/* キャラごとのリンク */
.cat-novel .novel-listlink ul.linkbox {
    flex-shrink: 0;
    display: flex;
	font-size: 1.25em;
	list-style:none;
}

.cat-novel .novel-listlink ul.linkbox li::after {
    content: '│';
}

.cat-novel .novel-listlink ul.linkbox li:last-of-type::after {
    content: '';
}

/* -----------------------------------------------------------------------
Contact form7
---------------------------------------------------------------------- */
/* サイト内のフォーム共通-------------------- */
.siteform .wpcf7-response-output{
	margin: 2em 0!important;
    padding: 1em!important;
	text-align: center;
	border: none!important;
	border-radius: 0.25em;
	background-color: var(--color-basegrey);
}

/* 送信ボタン */
.siteform input[type="submit"] {
    display: block;
    max-width: 280px;
    margin: 2em auto 0;
	padding: 1em 2em;
	border-radius: 0.25em;
    background-color: var(--color-brand);
    color: #fff;
    font-size: 1em;
    border: none;
	transition: 0.3s;
    /* マウスホバー時のアニメーション */
	font-family: "EB Garamond", "Zen Old Mincho", serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: .1em;
    line-height: 1.6;
	cursor : pointer;
}

.siteform input[type="submit"]:hover {
    background-color: var(--color-basegrey);
}

/* Novel（category-novel.php）の拍手-------------------- */
#webclapform .radio-single {
	display:none;
}

#webclapform .submit p{
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;
}

#webclapform .submit p input{
	margin-top: 0;
}

/* Messageページのフォーム-------------------- */
#myform textarea {
	width: calc(100% - 2em);
	font-size: 1em;
	letter-spacing: .1em;
    line-height: 1.6;
	padding: 1em;
}

/* reCAPTCHA消去-------------------- */
.grecaptcha-badge {
    visibility: hidden;
}

@media screen and (max-width:1280px) {

    /* -----------------------------------------------------------------------
    page
    ---------------------------------------------------------------------- */
    .page-profile .cnt-right70 {
        flex-direction: column;
    }

    .page-profile .cnt-right70 {
        gap: 1em;
    }

    .page-profile .post-wrap {
        width: 100%;
        padding-right: 0;
        border: none;
    }

    .page-profile .profile-anytime {
        width: 100%;
    }

}

/* -----------------------------------------------------------------------
スマホ用の処理
---------------------------------------------------------------------- */
@media screen and (max-width:600px) {
    /* ←←←消さないよう注意！ */

    body {
        font-size: 13px;
    }

    /* -----------------------------------------------------------------------
    layout
    ---------------------------------------------------------------------- */
    .spn {
        display: none !important;
    }

    .top-mv,
    .top-author .top-authorcnt,
    .subpage-cnt,
    .cat-novel .novel-newarrival ul {
        flex-direction: column;
    }

    .cnt-left30 {
        width: 100%;
    }

    .cnt-right70 {
        padding: 6em 2em;
        width: calc(100% - 4em);
    }

    .frame {
        background-position: left 8px top 8px, right 8px top 8px, right 8px bottom 8px, left 8px bottom 8px;
        background-size: 50px 47px;
    }

    /* -----------------------------------------------------------------------
    header
    ---------------------------------------------------------------------- */
    /* ナビゲーションメニュー-------------------- */
    header .pcmenu {
        display: none;
        /* PCの時は非表示 */
    }

    header .spmenu {
        display: block;
        /* スマホの時は表示 */
    }

    /* -----------------------------------------------------------------------
    トップページ
    ---------------------------------------------------------------------- */
    .top-mv {
        height: auto;
    }

    .top-mv .cnt-left50 {
        height: 100vh;
        width: calc(100% - 3em);
        padding: 0 1.5em;
    }

    .top-mv .cnt-right50 {
        width: calc(100% - 4em);
        padding: 6em 2em;
    }

    .top-novel {
    width: calc(100% - 4em);
        padding: 4em 2em;
}

    .top-author {
        height: auto;
    }

    .top-author .top-authorcnt .cnt-left50 {
        width: calc(100% - 4em);
        padding: 4em 2em 0;
    }

    .top-author .top-authorcnt .cnt-right50 {
        width: calc(100% - 4em);
        overflow: hidden;
        padding-bottom: 4em;
    }

    .rotate__cont {
        width: 300px;
        height: 300px;
    }

    .top-author .btn-star a,
    .top-author .btn-star a::before,
    .top-author .btn-star a::after {
        width: 220px;
    }

    /* -----------------------------------------------------------------------
    footer
    ---------------------------------------------------------------------- */
    footer {
        padding: 6em 2em;
    }

    #ftr-menu {
        line-height: 1;
    }

    #ftr-menu li {
        width: calc(100% / 2 - 1.5em);
    }

    #ftr-menu li a {
        padding: 0.5em 0;
    }

    #ftr-menu .sub-menu {
        margin-top: 1em;
        display: flex;
        flex-direction: column;
        gap: 1em;
    }

    /* -----------------------------------------------------------------------
    page
    ---------------------------------------------------------------------- */

    /* -----------------------------------------------------------------------
    single
    ---------------------------------------------------------------------- */
    .single-novelindex .bg,
    .single-novel .bg {
        background-size: 320%;
    }

    .single-novelindex .cnt-left30 {
        padding-top: 4em;
    }

    .single-novel .cnt-right70,
    .single-novel .post-wrap,
    .single-novel .post-clap {
		width: calc(100% - 4em);
        padding: 4em 2em;
    }

    .single-novel .post .posthdr {
        width: 100%;
    }

    .single-novel .post .posthdr .postttl {
        padding-bottom: 1em;
    }

    .single-novel .post .posthdr .excerpt {
        padding: 1em 0 1.5em;
    }

    .single-novel .post .postbody {
        margin: 2em 0;
    }
	
	.single-novel .post .postbody p{
		font-size: 1.2em;
	}
	
	.single-novel .post-clap .ttl h2{
		font-size: 3em;
	}
	
	.single-novel .post-clap .ttl::after{
		width: 100%;
	}

    .single-novel .post-clap {
        padding: 2em;
    }

    .single-novel .post-clap .inner {
        padding: 4em 2em;
    }

    /* -----------------------------------------------------------------------
    archive,category
    ---------------------------------------------------------------------- */
    .cat-novel .cnt-left30 {
        position: static;

    }

}

/* ←←←消さないよう注意！ */
/* -----------------------------------------------------------------------
スマホ用の処理ここまで
---------------------------------------------------------------------- */