@import url('https://fonts.googleapis.com/css?family=Anaheim|Meera+Inimai&display=swap');
*{margin:0;padding:0}
div,h1,h2,h3,p,ul,li,input,textarea,table,tr,th,td,footer,header,nav,article{box-sizing:border-box}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
a{text-decoration:none;outline:none}
a img{border-style:none}
ul,li{list-style-type:none}
html{font-size:62.5%}
body{
background:url(back01.gif) #f1f7f9;
color:#202020;
font-size:1.2em;
font-family:Verdana,Roboto,'游ゴシック','Yu Gothic','游ゴシック体','YuGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
letter-spacing:.1em;
line-height:1.75;
margin:20px 20px 70px;
text-align:center;
overflow-y:scroll;
overflow-wrap:break-word;
word-wrap:break-word
}
a{color:#267f99}
a:hover{color:#9babb1}
#wrapper{background:#fff;border:1px solid #263238;margin:0 auto;text-align:left;width:750px;box-shadow:0 3px 14px rgba(0,0,0,.12)}
header{text-align:right}
header a{color:#000}
#header-inner{border:1px solid #263238;margin:20px;padding:0;overflow:hidden;line-height:0;background:#009bba}
.site-header-image{display:block;width:100%;height:auto}
#menu{background:#367188;font-weight:700;line-height:1;width:100%;text-align:center}
nav li{display:inline-block;position:relative;height:2.4em;line-height:2.4em}
nav li a,nav li span{color:#fff;display:inline-block;padding:0 5px;text-decoration:none;cursor:pointer}
nav li a:hover,nav li span:hover{background:rgba(0,0,0,.14);transition:.35s;color:#fff}
nav li+li:before{content:'│';color:rgba(255,255,255,.6)}
.sub-menu{background:rgba(20,54,66,.96);position:absolute;width:220px;z-index:20}
.sub-menu li{display:block;visibility:hidden;overflow:hidden;height:0;width:100%}
.sub-menu li:before{content:none}
.sub-menu li a{display:block}
nav li:hover .sub-menu li{visibility:visible;overflow:visible;height:3em;line-height:3em;transition:.35s}
#open{display:none}
#container{padding:20px}
#container a{text-decoration:underline;text-underline-offset:2px}
#column{width:100%}
#leftcolumn{float:left;width:420px}
#rightcolumn{float:right;text-align:center;width:240px}
footer{padding:10px;text-align:right}
.footer-inner{background:#367188;color:#fff;margin:10px 0;padding:2px 8px}
.footer-inner a{color:#fff}
#fl{font-size:.9em;color:#999}
#fl a{color:#999}
#pagetop{background:#367188;color:#fff;border-radius:10px;box-sizing:border-box;display:block;padding:10px;position:fixed;text-align:center;z-index:50;right:20px;bottom:-80px;transition:bottom .3s,background .3s}
#pagetop.visible{bottom:20px}
#pagetop:hover{background:#143642;color:#fff}
h1{font-size:2em;letter-spacing:.1em;margin:0 0 .5em}
h2{background-image:url(back01.gif);border-left:8px solid #009bba;font-size:1.1em;margin:1em 0;padding:2px 8px 2px 10px;text-align:right}
h3{border-bottom:1px dashed #367188;border-top:1px dashed #367188;font-size:1em;margin:1.25em 0 .8em;padding:3px}
h4{background-image:url(back01.gif);border-left:8px solid #009bba;font-size:1.1em;margin:1em 0;padding:2px 8px 2px 10px;text-align:center}
dt{font-weight:700;margin:0 0 5px}
dd{background:#e5ecef;margin:0 0 5px 2em;padding:1px 6px}
em{font-weight:700}
input,textarea{background:#e5ecef;border:1px solid;margin:3px 0;width:80%}
textarea{height:50px}
hr{display:block;border:0;border-top:1px solid #ccd7db;margin:1em 0;padding:0;height:1px}
.marker{background:linear-gradient(transparent 80%,#66cfe4 0%)}
.dcline{border-left:8px solid #009bba;margin:5px 0;padding:3px}
.textbox{border:1px dotted #367188;margin:10px 0;padding:7px;text-align:center;background:#fbfdfe}
.title{color:#9aa9ae;font-size:1.2em;font-weight:700;margin:1em 0}
.txt{border-left:1px solid;color:#7f8f95;margin:1em;padding:0 0 0 1em}
.frame{background:#fff;border-radius:3px;padding:6px;box-shadow:3px 3px 3px #ccc}
.cf:before,.cf:after{content:' ';display:table}.cf:after{clear:both}
.home-notice{margin:14px 0;padding:9px 12px;background:#edf7fa;border-left:4px solid #009bba}
.home-notice strong{color:#267f99;letter-spacing:.18em}
.rank-box{margin:18px 0 5px;padding:10px 12px;background:#f3f3f3;text-align:center;font-size:.95em}
.updates dd{margin-left:2em}.updates-full dt{margin-top:10px}
.more{text-align:right;font-size:.9em;margin-top:8px}
#rightcolumn ul{margin:0 0 14px}
#rightcolumn li{margin:2px 0}
.mini-banner{margin-top:15px;border:1px solid #263238}
.attention-list li{list-style:disc;margin-left:2em}
.work-group{margin:0 0 22px}.work-group strong{display:block;margin:12px 0 5px;color:#267f99}.work-list li{border-bottom:1px dotted #ccd7db;padding:4px}
.blog-entry{margin-bottom:26px}.memo-box{background:#edf7fa;border-left:4px solid #009bba;margin:12px 0;padding:10px}
.novel-text{font-size:1.05em;line-height:2.25}.novel-text p{margin:0 0 1.4em}
@media screen and (max-width:600px){
body{font-size:1.4em;margin:0 0 50px;background:#fff}
#wrapper{position:relative;width:100%;border:0;box-shadow:none}
header{text-align:center}
#header-inner{margin:40px 0 0;border-left:0;border-right:0}
#rightcolumn,#leftcolumn{float:none;width:100%}
#rightcolumn{border-top:1px dashed #367188;margin-top:20px;padding-top:5px}
img{max-width:100%;height:auto}
#menu{background:rgba(20,54,66,.97);text-align:left;display:none;position:absolute;top:0;left:0;padding-top:50px;width:100%;z-index:20}
#menu.menu-open{display:block}
nav li{display:block;height:auto;line-height:inherit}
nav li a,nav li span{display:block;margin:0;position:relative;padding:15px 20px}
nav li+li:before{content:none}
nav li+li{border-top:1px solid #0c2934;box-shadow:0 -1px #557580}
.sub-menu{border-top:1px solid #0c2934;box-shadow:0 -1px #557580;background:none;position:static;display:none;width:100%;z-index:auto}
.sub-menu.open{display:block}
.sub-menu li{border-top:0;box-shadow:none;display:inline-block;visibility:visible;overflow:visible;height:auto;width:50%}
.sub-menu li a:after{display:none}
nav li:hover .sub-menu li{height:auto;line-height:inherit}
nav li span:after{border-top:3px solid #fff;border-right:3px solid #fff;content:'';display:block;margin-top:-5px;position:absolute;top:50%;right:20px;height:5px;width:5px;transform:rotate(45deg);transition:.35s}
nav li span.open:after{transform:rotate(135deg)}
#open{display:inline-block;position:absolute;top:0;left:0;height:40px;width:100%;z-index:30;text-align:left;cursor:pointer}
#open-icon,#open-icon:before,#open-icon:after{background:#143642}
#open-icon{display:block;margin:-2px 0 0;position:absolute;top:50%;left:20px;height:4px;width:30px}
#open-icon:before,#open-icon:after{content:'';display:block;position:absolute;top:50%;left:0;height:4px;width:30px;transition:.3s}
#open-icon:before{margin-top:-13px}#open-icon:after{margin-top:9px}
#open-icon.close{background:transparent}
#open-icon.close:before,#open-icon.close:after{margin-top:0;background:#fff}
#open-icon.close:before{transform:rotate(-45deg)}#open-icon.close:after{transform:rotate(-135deg)}
.open-text{display:inline-block;font-size:1.2em;font-weight:700;height:40px;line-height:40px;position:absolute;left:60px;z-index:30;color:#143642}
.open-text.close{color:#fff}
#container{padding:18px}
#rightcolumn .mini-banner{max-width:200px}
}


/* ===== 青い高架線 v2 追加設定 ===== */
.poll-box{margin:16px 0;padding:10px 12px;background:#fbfdfe;border:1px dotted #367188;text-align:center}
.poll-box strong{color:#267f99;letter-spacing:.12em}
.owner-links{margin-top:4px}
.wide-mini-banner{display:block;width:100%;height:auto;margin-top:15px;border:1px solid #263238}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.category-card{display:flex;min-height:110px;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ccd7db;background:#fbfdfe;padding:14px;text-align:center;text-decoration:none!important}
.category-card strong{display:block;color:#267f99;font-size:1.1em;margin-bottom:5px}
.category-card span{color:#56666c;font-size:.9em}
.name-panel{margin:12px 0 22px;padding:12px 14px;background:#edf7fa;border-left:4px solid #009bba;text-align:center}
.name-panel strong{color:#267f99;font-size:1.05em}
.center-heading{text-align:center;font-size:1.25em}
.site-list{margin:18px 0 26px}
.site-list p{margin-bottom:16px}
.site-dot{font-size:1.4em;font-weight:bold}
.site-name{color:#bf5252!important;font-size:1.25em;font-weight:bold}
.site-note{display:inline-block;margin-left:1.6em}
.link-banner{text-align:center;margin:18px 0}
.link-banner img{max-width:100%;height:auto;border:1px solid #263238}
.link-data textarea{width:100%;min-height:55px;background:#f5f7f8;padding:8px;resize:vertical}
.google-form-wrap{width:100%;margin:16px auto;overflow:hidden}
.google-form-wrap iframe{display:block;width:100%;min-height:1150px;border:0}
.form-setup-note{color:#7b5960}
.contact-form{border:1px solid #263238;border-radius:10px;margin:20px auto;padding:22px;width:min(100%,520px)}
.contact-form label{display:block;margin:0 0 12px}
.contact-form input,.contact-form textarea{display:block;width:100%;margin:5px 0 0;padding:7px;background:#fff;border:1px solid #263238;border-radius:6px}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form button{display:block;width:150px;margin:15px auto 0;padding:7px;border:0;border-radius:5px;background:#000;color:#fff;letter-spacing:.18em;cursor:pointer}
.required{color:#d85b69;font-size:.85em}
.small-note{font-size:.9em;text-align:center}
@media screen and (max-width:600px){
.category-grid{grid-template-columns:1fr}
.category-card{min-height:82px}
.wide-mini-banner{max-width:468px;margin-left:auto;margin-right:auto}
.google-form-wrap iframe{min-height:1350px}
.contact-form{padding:18px 14px}
}


/* ===== 青い高架線 v3 追加設定 ===== */
.clap-callout{
  margin:16px 0;
  padding:10px 12px;
  border:1px dotted #367188;
  background:#fbfdfe;
  text-align:center
}
.clap-callout img{
  display:block;
  width:39px;
  height:23px;
  margin:0 auto 5px;
  image-rendering:pixelated
}
.clap-callout p{margin:0}
.owner-rank-box{margin-top:18px}
.dm-google-box{
  width:min(100%,520px);
  margin:22px auto;
  padding:24px 18px;
  border:1px solid #263238;
  border-radius:10px;
  background:#fbfdfe;
  text-align:center
}
.dm-google-button{
  display:inline-block;
  min-width:220px;
  padding:10px 18px;
  border-radius:5px;
  background:#000;
  color:#fff!important;
  font-weight:bold;
  letter-spacing:.14em;
  text-decoration:none!important
}
.dm-google-button:hover{
  background:#367188;
  color:#fff!important
}


/* ===== 青い高架線 v4 追加設定 ===== */
.poll-box strong a{
  color:#267f99;
  text-decoration:none
}
.poll-box strong a:hover{
  color:#bf5252
}
.more-updates{
  margin-top:10px;
  text-align:right
}
.more-updates a{
  font-size:.92em
}
.google-form-wrap iframe{
  width:100%;
  max-width:640px;
  min-height:968px;
  height:968px
}
@media screen and (max-width:640px){
  .google-form-wrap iframe{
    min-height:1180px;
    height:1180px
  }
}


/* ===== Pages CMS 小説自動生成 ===== */
.work-list li{position:relative;padding:8px 4px}
.work-list li>a{font-weight:700}
.work-meta{display:block;color:#7f8f95;font-size:.88em;margin-top:2px}
.work-summary{display:block;color:#56666c;font-size:.92em;margin-top:3px}
.work-empty{color:#9aa9ae}
.rating-badge{display:inline-block;margin-left:7px;padding:0 5px;border:1px solid #b83f4c;border-radius:3px;color:#b83f4c;font-size:.78em;font-weight:700;line-height:1.5;vertical-align:middle}
.rating-large{font-size:.72em}
.novel-summary{margin:12px 0 24px;padding:10px 12px;background:#edf7fa;border-left:4px solid #009bba}
.novel-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:30px 0 10px;padding-top:14px;border-top:1px dotted #ccd7db;text-align:center}
.novel-pager span:first-child{text-align:left}.novel-pager span:last-child{text-align:right}
.age-gate{max-width:560px;margin:40px auto;text-align:center}
.age-gate h2{text-align:center;background:none;border:0;font-size:1.35em;margin-bottom:28px}
.age-gate h3{border:0;font-size:1.2em;margin-bottom:24px}
.age-gate p{margin:10px 0}
.age-red{color:#c73548}
.age-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:34px auto 0;max-width:440px}
.age-buttons a,.age-buttons button{display:block;width:100%;padding:9px 10px;border:0;border-radius:5px;background:#000;color:#fff!important;font-family:inherit;font-size:1em;letter-spacing:.12em;text-decoration:none!important;cursor:pointer}
.age-buttons a:hover,.age-buttons button:hover{background:#367188}
.length-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.breadcrumb{margin:0 0 24px;font-size:.9em}
.series-group>.series-block{margin:0 0 28px}
.series-group>.series-block>strong{display:block;margin-bottom:4px}
.series-single{margin-bottom:20px}
@media screen and (max-width:600px){.novel-pager{grid-template-columns:1fr auto 1fr;font-size:.9em}.age-gate{margin:28px auto}.age-buttons{gap:8px}.length-grid{grid-template-columns:1fr}}


/* ===== Berrycake.js 名前変換 ===== */
.name-panel-compact{padding:12px;text-align:center}
.name-panel-compact a{font-weight:700}
.berrycake-form-wrap{margin:18px 0}
#cakeMix .row{display:grid;grid-template-columns:8em minmax(0,1fr);gap:8px 12px;align-items:center;margin:8px 0}
#cakeMix label{font-weight:700}
#cakeMix input{width:100%;margin:0;padding:7px 8px}
#cakeMix .row:last-child{display:flex;justify-content:center;gap:10px;margin-top:18px}
#cakeMix button{padding:7px 18px;border:1px solid #367188;background:#fff;color:#267f99;font-family:inherit;cursor:pointer}
#cakeMix button:hover{background:#edf7fa}
@media screen and (max-width:600px){#cakeMix .row{grid-template-columns:1fr}#cakeMix .row:last-child{display:flex;flex-wrap:wrap}}


/* ===== Pages CMS ブログ自動生成 ===== */
.blog-list{list-style:none;margin:0;padding:0}
.blog-list li{display:grid;grid-template-columns:8.5em 1fr;gap:12px;padding:10px 4px;border-bottom:1px dotted #ccd7db}
.blog-list time{color:#7f8f95;font-size:.9em;white-space:nowrap}
.blog-list a{font-weight:700}
.blog-empty{color:#9aa9ae}
.blog-article h2{margin-bottom:4px}
.blog-date{margin:0 0 28px;color:#7f8f95;font-size:.9em}
.blog-body{line-height:2.1}
.blog-body p{margin:0 0 1.4em}
.blog-body blockquote{margin:1.5em 0;padding:8px 14px;border-left:4px solid #ccd7db}
.blog-back{margin-top:36px;padding-top:14px;border-top:1px dotted #ccd7db}
@media screen and (max-width:600px){.blog-list li{grid-template-columns:1fr;gap:2px}.blog-list time{font-size:.82em}}


/* ===== Pages CMS アコーディオン・一覧ページ送り ===== */
.work-accordion{margin:0;border-bottom:1px dotted #ccd7db}
.work-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 4px;cursor:pointer;list-style:none}
.work-accordion>summary::-webkit-details-marker{display:none}
.work-accordion>summary::after{content:"＋";margin-left:auto;color:#367188;font-weight:700}
.work-accordion[open]>summary::after{content:"−"}
.work-accordion>summary strong{letter-spacing:.1em}
.accordion-count{color:#8d9ba0;font-size:.8em;white-space:nowrap}
.accordion-content{padding:0 4px 14px}
.js-list-page[hidden]{display:none!important}
.inline-list-pager,.list-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0 4px;padding-top:12px;border-top:1px dotted #ccd7db;text-align:center}
.inline-list-pager button{appearance:none;border:0;background:none;color:#367188;font:inherit;text-decoration:underline;cursor:pointer;padding:4px}
.inline-list-pager button:disabled{color:#a8b5b9;text-decoration:none;cursor:default}
.inline-list-pager button:first-child,.list-pager>span:first-child{text-align:left}
.inline-list-pager button:last-child,.list-pager>span:last-child{text-align:right}
.series-single{padding:8px 0;border-bottom:1px dotted #ccd7db}
@media screen and (max-width:600px){.work-accordion>summary{padding:13px 2px}.inline-list-pager,.list-pager{font-size:.9em}}


/* ===== Pages CMS 更新情報自動生成 ===== */
.update-list{list-style:none;margin:0;padding:0}
.update-list li{display:grid;grid-template-columns:8.5em 1fr;gap:12px;padding:12px 4px;border-bottom:1px dotted #ccd7db}
.update-list time{color:#7f8f95;font-size:.9em;white-space:nowrap}
.update-body{margin-top:6px;color:#56666c;font-size:.92em}
.update-body p{margin:0 0 .8em}
.update-empty{color:#9aa9ae}
@media screen and (max-width:600px){.update-list li{grid-template-columns:1fr;gap:2px}.update-list time{font-size:.82em}}


/* ===== Pages CMS 画像・イラスト ===== */
.blog-body img,.update-body img{display:block;max-width:100%;height:auto;margin:1.4em auto}
.illustration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.illustration-card{margin:0;padding:0}
.illustration-card a{display:block;text-decoration:none}
.illustration-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border:1px solid #d7e0e3;background:#f5f8f9}
.illustration-title{display:block;margin-top:7px;text-align:center;font-weight:700}
.illustration-empty{grid-column:1/-1;color:#9aa9ae}
.illustration-full{text-align:center}
.illustration-full img{display:block;max-width:100%;height:auto;margin:0 auto}
.illustration-caption{margin:24px 0;line-height:2}
.illustration-caption p{margin:0 0 1.2em}
.illustration-back{margin-top:32px;padding-top:14px;border-top:1px dotted #ccd7db}
@media screen and (max-width:700px){.illustration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* ===== 旧サイト風フォント START ===== */
@font-face{
  font-family:"小夏";
  src:url('https://cdn.leafscape.be/Konatu/Konatu_web.woff2') format("woff2");
  font-display:swap;
}
body{
  font-family:'Meera Inimai',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,sans-serif;
  line-height:2;
  letter-spacing:1.9px;
}
h1,h2,h3,h4,.sub{
  font-family:'Meera Inimai',"小夏",sans-serif;
}
/* ===== 旧サイト風フォント END ===== */
