*{margin:0;padding:0}
div,h1,h2,h3,p,ul,li,input,textarea,table,tr,th,td,footer,header,nav,section{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, 
:root {
    --primary-color: #302AE6;
    --secondary-color: #536390;
    --font-color: #424242;
    --bg-color: #fff;
    --heading-color: #292922;
}

[data-theme="dark"] {
    --primary-color: #9A97F3;
    --secondary-color: #818cab;
    --font-color: #e1e1ff;
    --bg-color: #161625;
    --heading-color: #818cab;
}

@font-face {
  font-family: OpenDyslexic;
  src: url(https://satohika.neocities.org/fanfics/OpenDyslexic.otf);
}

body{
background: var(--bg-color);
color: var(--font-color);
font-family:Verdana,Roboto,'游ゴシック','Yu Gothic','游ゴシック体','YuGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
height:100%;
letter-spacing:.1em;
overflow-wrap:break-word;
word-wrap:break-word
}

a{

  color: var(--primary-color);
}

a:hover {
  color: var(--color-accent);}
/*--------------------------------------------------------
上(ヘッダー)
--------------------------------------------------------*/
header{
background:var(--font-color);
color:var(--bg-color);
position:fixed; /* 固定 */
width:100%;
left:0;
z-index:10
}
/*--------------------------------------------------------
メイン
--------------------------------------------------------*/
#contents{
width:100%
}
/* 左側 */
#leftcolumn{
float:left;
background:url(testnumberidk.gif) #fff repeat-x 0 100%;
border-right:1px solid #000;
padding-bottom:5em;
position:fixed;
height:100%;
width:300px;
left:0
}
#leftcolumn-inner{
padding:20px;
height:100%;
overflow-y:auto;
-webkit-overflow-scrolling:touch
}
/* 右側 */
#rightcolumn{
float:right;
width:100%;
margin-left:-300px; /* #leftcolumnのwidthと同じだけマイナス */
}
#rightcolumn-inner{
margin-left:300px; /* #leftcolumnのwidthと同じ */
padding:0 20px
}
/*--------------------------------------------------------
メニュー
--------------------------------------------------------*/
#menu{
line-height:1;
width:100%
}
nav li{
display:inline-block; /* 横並び */
position:relative; /* サブメニュー表示位置の基準 */
height:2em;line-height:2em; /* メニュー高さ */
}
nav li a,nav li span{
color:#fff;
display:block;
padding:0 5px;
text-decoration:none
}
nav li a:hover,nav li span:hover{
background:url(back02.gif);
color:#000;
transition:.6s
}
/* サブメニュー */
.sub-menu{
background:#fff;
position:absolute;
width:180px; /* サブメニュー幅 */
z-index:20
}
.sub-menu li{
display:block; /* 横並びをリセット */
visibility:hidden; /* 隠す */
overflow:hidden; /* 隠す */
height:0; /* 隠す */
width:100%
}
.sub-menu li a{
color:#000
}
.sub-menu li a:hover{
background:#3db3e0;
color:#fff
}
nav li:hover .sub-menu li{
visibility:visible;
overflow:visible;
height:3em;line-height:3em; /* サブメニュー高さ */
transition:.5s
}
#open{display:none}
/*--------------------------------------------------------
index
--------------------------------------------------------*/
#index{
background:url(testnumberidk.gif) #fff repeat-x 0 100%;
padding-left:0;
height:auto
}
.indexbox{
border:1px solid;
margin:20px auto;
padding:20px;
width:80%
}
/*--------------------------------------------------------
ページ上部へのリンク、著作権表示
--------------------------------------------------------*/
#pagetop {/* 位置はscroll.jsで設定 */
background:rgba(0,0,0,.8);/* 背景 */
color:#fff;/* 色 */
height:50px;width:50px; /* 大きさ */
border-radius:30px;
box-sizing:border-box;
display:block;
line-height:16px;
padding-top:25px;
position:fixed;
text-align:center;
z-index:10
}
#pagetop:before {
content:'\25B2';
font-size:14px;
position:absolute;
left:0;top:10px;
width:100%
}
#pagetop:hover {
background:rgba(0,0,0,.5)
}
.fl{
background:#000;
position:absolute;
text-align:center;
height:2em;line-height:2em;
width:100%;
left:0
}
/*--------------------------------------------------------
見出し、枠、線
--------------------------------------------------------*/
h1{
font-size:1em;
letter-spacing:.1em;
position:absolute;
margin:0 20px;
right:0;
height:2em;line-height:2em
}
#index h1{
position:static;
margin:0 0 2em
}
h2{
background:#000;
border-radius:6px;
color:#e6dec5;
font-size:1em;
margin:20px 0;
padding:10px;
position:relative
}
h2::after{
border:8px solid transparent;
border-top:8px solid #000;
content:'';
position:absolute;
top:100%;left:30px;
height:0;width:0
}
h3{
border-bottom:1px solid;
margin:20px 0
}
h3:first-letter{
color:#3db3e0;
font-size:1.3em
}
#rightcolumn dt{
font-weight:700;
float:left;
clear:both;
margin:0 0 5px;
width:150px
}
#rightcolumn dd{
border-bottom:1px solid #d2d2d2;
margin:0 0 5px 160px
}
#leftcolumn dt{
border-bottom:1px solid;
font-weight:700
}
#leftcolumn dd{
padding:1em
}
em{
font-weight:700
}
input,textarea{
background:#fff;
border:1px solid;
margin:3px 0;
width:200px
}
textarea{
height:50px
}
hr{
display:block;
border:0;  
border-top:1px solid #ccc;
margin:1em 0;
padding:0;
height:1px
}
.marker{
background:#3db3e0; /* Ie9 */
background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.49, #fff), color-stop(0.5, #94eaff), color-stop(1, #94eaff));
background:-webkit-linear-gradient(transparent 50%, #94eaff 0%);
background:linear-gradient(transparent 50%, #94eaff 0%)
}
.dcline{
border-left:5px solid #3db3e0;
margin:5px 0;
padding:3px
}
.textbox{
border:1px solid;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#3db3e0;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right
}
.txt{
border-left:1px dotted;
color:#999;
margin:1em;
padding:0 0 0 1em
}
.frame{
background:#fff;
border-radius:3px;
padding:6px;
box-shadow:3px 3px 3px #000
}
.cf:before,.cf:after{content:" ";display:table}
.cf:after{clear:both}
/*--------------------------------------------------------
スマホ、タブレット用
横幅600pxで切り替え
--------------------------------------------------------*/
@media screen and (max-width:600px){
body{
font-size:1.3em
}
header{
position:relative
}
#header-inner{
min-height:60px;
text-align:right;
padding-left:60px
}
#contents{
background:url(anothetest.gif) repeat-x 0 0
}
#leftcolumn{
border-right:0;
border-top:1px solid #000;
float:none;
height:auto;
width:100%;
padding:0;
position:relative
}
#leftcolumn-inner {
height:auto;
padding:20px 20px 50px
}
#rightcolumn{
float:none;
margin-left:0
}
#rightcolumn-inner{
margin:0;
padding:1em 20px
}
aside{
margin-top:0
}
aside li{
display:inline-block
}
aside a{
color:#fff;
background:#000;
border-radius:5px;
display:inline-block;
margin:5px 5px 5px 0;
padding:10px
}
#rightcolumn a{
display:inline-block;
margin:5px 5px 5px 0
}
#rightcolumn a:hover{
color:#fff;
background:#000;
border-radius:5px;
transition:0.5s
}
h1{position:static}
#rightcolumn dt{float:none;clear:none;width:auto}
#rightcolumn dd{margin-left:20px}
img{max-width:100%;height:auto} /* 画像の縮小表示 */
/*--------------------------------------------------------
スマホ、タブレット用メニュー
--------------------------------------------------------*/
/* メニュー */
#menu{
background:rgba(0,0,0,.8); /* メニューの背景色 */
display:none;
position:absolute; /* 表示位置固定 */
left:0;
z-index:20
}
nav li{
display:block; /* 横並び解除 */
height:auto;line-height:inherit /* 高さリセット */
}
nav li a,nav li span,.sub-menu li a{
color:#fff;
position:relative;
padding:15px 20px /* リンクの余白 一列の高さはここで調節 */
}
/* サブメニュー */
.sub-menu{
background:none;
position:static;
display:none; /* 隠す */
width:100%;
z-index:auto
}
.sub-menu li{
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:10px;
height:5px;width:5px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
transition:.2s
}
nav li span.open:after{
-ms-transform:rotate(135deg);
-webkit-transform:rotate(135deg);
transform:rotate(135deg)
}

/*the custom shit*/

select {
font-size: 12px;
background-color: var(--secondary-color);
border: none;
padding: 5px;
color: var(--bg-color);}

/*---buton--*/

button {
font-size: 11px;
background-color: var(--secondary-color);
border: none;
padding: 5px;
color: var(--bg-color);
}

/*--switch--*/

.theme-switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
 
}

.theme-switch input { 
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  border-radius: 24px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  border-radius: 50%;
  height: 16px;
  width: 16px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* メニューを開くボタン */
#open{
display:inline-block;
position:absolute;
height:50px;width:50px;
top:0
}
#open-icon,#open-icon:before,#open-icon:after{
background:#fff; /* 線の色 */
}
#open-icon{display:block;margin:-1px 0 0 -10px;position:absolute;top:50%;left:50%;height:2px;width:20px}
#open-icon:before,#open-icon:after{content:"";display:block;position:absolute;top:50%;left:0;height:2px;width:20px;transition:.3s}
#open-icon:before{margin-top:-8px}
#open-icon:after{margin-top:6px}
#open .close{background:transparent}
#open .close:before,#open .close:after{margin-top:0}
#open .close:before{-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
#open .close:after{-ms-transform:rotate(-135deg);-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}

}
