html,body,div,span,iframe,h1,h2,h3,h4,p,pre,del,em,img,b,i,dl,dt,dd,ol,ul,li,form,table,tbody,tr,th,td,article,aside,footer,header,nav,section{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing:border-box}
article,aside,footer,header,nav,section{display:block}
body{line-height:1;overflow-wrap:break-word;word-wrap:break-word}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;vertical-align:middle;box-sizing:border-box}
a{margin:0;padding:0;text-decoration:none;outline:none;font-size:100%;vertical-align:baseline;background:transparent}
a img{border-style:none}
ul,li{list-style-type:none}
hr{border:0;display:block;margin:1em 0;padding:0;height:1px}
.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}

/* ===================================
背景,文字,リンク設定
=================================== */

html{
font-size:62.5%;
min-height:100%
}
body{
background:url('https://i.pinimg.com/736x/df/4a/ef/df4aefcdb5c90cbd934de462da8e5614.jpg');/* 周りの背景 */
color:#cfd7c1;/* 文字色 */
font-size:1.3em;/* 文字の大きさ */
font-family:'Segoe UI','游ゴシック Medium','Yu Gothic Medium','游ゴシック体',YuGothic,'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
letter-spacing:.1em;
line-height:1.5;
text-align:center
}
/*  リンク
------------------------------ */
a{
color:inherit
}
#rightcolumn a,#side a{
color:#c0cbb2;
display:inline-block;
margin-bottom:2px;
position:relative;
text-decoration:underline
}
#rightcolumn a::after{
background:#d0d9c7;
content:'';
position:absolute;
bottom:0;left:0;
height:2px;width:0
}
#rightcolumn a:hover{
text-decoration:none
}
#rightcolumn a:hover::after{
width:100%;
transition:.5s ease-in
}

/* ===================================
基本
=================================== */

#wrapper{
position:relative;
text-align:left;
min-height:100%
}
header{
position:absolute;
left:0;
width:250px; /* (※1)と同じ */
z-index:10
}
#header-inner{
padding:15px;
text-align:right
}
#rightcolumn-wrap{ 
float:right;
margin-left:-250px; /* (※1)と同じだけマイナス */
width:100%
}
#rightcolumn{
background:#ffffff;/* メイン部分の背景 */
border-bottom:1px dashed #e8f8d2;
border-left:1px dashed #dcebd1;
margin-left:250px; /* (※1)と同じ */
padding:20px 20px 20px 35px;
position:relative
}
#leftcolumn-wrap{
float:left;
width:250px; /* 左側の幅(※1) */
}
#leftcolumn{
padding:15px
}
footer{
float:right;
margin-left:-250px; /* (※1)と同じだけマイナス */
width:100%
}
#footer-inner{
margin-left:250px; /* (※1)と同じ */
padding:15px 20px;
text-align:right
}

/* ===================================
メニュー
=================================== */

#menu{
display:block;
margin:0 auto
}
nav li a,nav li span{
border-bottom:1px dashed #f5ffea;
display:block;
line-height:2em;
padding:5px 0;/* 一列の高さはここで調節 */
position:relative
}
.sub-menu{
display:none;
margin:0;
overflow:hidden
}
.sub-menu li{
text-indent:1em
}
/*  メニューの「>」
------------------------------ */
nav li span:after{
border-top:2px solid #ebffda; /* 色 */
border-right:2px solid #e3ffca; /* 色 */
content:"";
display:block;
margin-top:-5px;
position:absolute;
height:5px;width:5px;
top:50%;right:10px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
transition:.5s
}
nav li span.open:after{
-ms-transform:rotate(135deg);
-webkit-transform:rotate(135deg);
transform:rotate(135deg)
}
/*  メニューを開くボタン非表示
------------------------------ */
#open{display:none}

/* ===================================
ページ上部へのリンク、著作権表示
=================================== */

#pagetop{
background:rgba(255, 255, 255, 0.8);/* 背景 */
border:1px dashed #e2ffcc;/* 枠線 */
border-radius:30px;
box-sizing:border-box;
display:block;
position:fixed;
text-align:center;
height:40px;width:40px; /* 大きさ */
bottom:-80px;
z-index:10
}
.arrow{
border-left:3px solid #e6ffd7;
border-top:3px solid #ecffdd;
position:absolute;
top:40%;left:34%;
height:12px;width:12px;
-ms-transform:rotate(45deg);  
-webkit-transform:rotate(45deg);
transform:rotate(45deg)
}
#pagetop:hover{
background:#d0d9c7
}
#fl a{
display:inline-block;
margin:3px 3px 3px 0;
padding:0 5px
}

/* ===================================
index
=================================== */

#index{
margin:10px;
height:auto
}
.indexbox{
background:#ffffff;
border:1px dashed #e3fcd8;
margin:20px auto;
padding:20px;
text-align:left;
max-width:580px
}

/* ===================================
見出し、枠、線
=================================== */

h1{
font-size:1.2em;
line-height:1;
margin:0 0 10px
}
h2{
background:#fafff5;
border-left:8px solid #eeffdd;
box-shadow:0 1px 2px #fbfff6;
font-size:1.2em;
margin:20px 0 20px -10px;
padding:3px
}
#leftcolumn h2{
border-left:8px solid #f1ffe4;
box-shadow:0 1px 2px #f5ffeb;
margin:20px 0
}
h3{
border-bottom:3px double;
margin:20px 0
}
h3:first-letter{
color:#bfdea3;
font-size:1.3em
}
h2 + h3{
margin-top:0
}
#leftcolumn > h2:first-child,#rightcolumn h2:first-child{
margin-top:5px
}
dt{
clear:both;
color:#e4ffd2;
font-weight:700;
float:left;
margin:0 0 5px;
padding:0 5px;
width:12em /* 文字数によっては調整 */
}
dd{
border-bottom:1px solid #d1fabf;
margin:0 0 5px 14em /* dtのwidthに2足してます */
}
em{
background:#e9ffda;
border-radius:3px;
font-style:normal;
font-weight:700
}
input,textarea{
background:transparent;
border:1px solid;
margin:3px 0;
width:200px
}
textarea{
height:50px
}
hr{
border-top:1px solid #dcffc8
}
.marker{
background:#f3ffe6;
background:-webkit-linear-gradient(rgba(208,217,199,0) 50%, #f4ffe9 0%);
background:linear-gradient(rgba(208,217,199,0) 50%, #efffdf 0%)
}
.dcline{
border-left:5px solid;
margin:8px 0;
padding:3px 3px 3px 10px
}
.textbox{
border:1px dashed;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#f0ffdd;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-shadow:2px 2px 2px rgba(227, 255, 212, 0.8)
}
/*  複数行の右寄せ
------------------------------ */
.r-justified{
text-align:right
}
.r-justified p{
display:inline-block;
text-align:left
}
.inline{
display:inline-block
}
/*  文字の下の線
------------------------------ */
.line{
background:-webkit-linear-gradient(bottom, #d8ffd9 1px, rgba(255, 255, 255, 0) 1px);
background:linear-gradient(to top, #f0ffe4 1px, rgba(255, 255, 255, 0) 1px);
background-position:left top;
background-size:auto 2em; /* 同じにする */
line-height:2em /* 同じにする */
}

/* ===================================
横幅800pxで切り替え
=================================== */

@media screen and (max-width: 800px){
/* #wrapper{width:100%} */ /* 全体の幅を指定した場合は前後の/＊　＊/ を外して使用 */
dt{float:none;clear:none}
dd{margin-left:20px}
input,textarea{width:100%}
img{max-width:100%;height:auto} /* 画像の縮小表示 */
}

/* ===================================
スマホ、タブレット用
横幅600pxで切り替え
=================================== */

@media screen and (max-width: 600px){
body{
font-size:1.5em
}
#wrapper{
min-height:inherit
}
header{
position:relative;
width:auto;
z-index:auto
}
#header-inner{
padding:15px 15px 20px;
text-align:left
}
#rightcolumn-wrap{ 
float:none;
margin-left:0
}
#rightcolumn{
border-top:1px dashed #d7ffc8;
border-left:0;
margin-left:0;
padding:20px 15px
}
#leftcolumn-wrap{
float:none;
width:auto
}
#leftcolumn{
padding:10px 20px
}
footer{
float:none;
margin-left:0
}
#footer-inner{
margin-left:0;
padding:15px;
text-align:center
}
h1:not(.index){
font-size:1.2em;
margin-right:60px; /* メニューを開くボタン分 */
min-height:50px /* メニューを開くボタン分 */
}
h2{
margin:20px -5px
}
#leftcolumn h2{
color:#ffffff;
-ms-transform:rotate(3deg);
-webkit-transform:rotate(3deg);
transform:rotate(3deg)
}
#rightcolumn a::after,#rightcolumn a:hover::after{
display:none
}

/* ===================================
スマホ、タブレット用メニュー
=================================== */

/*  スライド
------------------------------ */
#leftcolumn-wrap{
background:rgba(255, 255, 255, 0.9);
color:#fff;
line-height:2;
margin:0;
padding:60px 0 20px; /* メニューボタン分空ける */
position:fixed;
height:100%;width:280px; /* (*1)同じにする */
top:0;right:0;
-ms-transform:translate(280px); /* (*1)同じにする */
-webkit-transform:translate(280px); /* (*1)同じにする */
transform:translate(280px); /* (*1)同じにする */
transition:.3s;
z-index:1000
}
#side-bg{
background:rgba(231, 255, 220, 0.5)/* 周りの背景色 */
}
/*  メニュー
------------------------------ */
nav li a,nav li span{
padding:5px 10px
}
/*  メニューの「>」
------------------------------ */
nav li span:after{
border-top:2px solid #fff; /* 色 */
border-right:2px solid #fff /* 色 */
}
/*  メニューを開くボタン
------------------------------ */
#open{
background:#f3ffee; /* 背景 */
border:1px dashed #ffffff; /* 枠線 */
color:#ffffff; /* 文字色 */
display:inline-block;
position:absolute;
text-align:center;
height:50px;width:50px; /* 大きさ */
top:15px;right:15px; /* 位置 */
z-index:1001
}
#open-icon,#open-icon:before,#open-icon:after{
background:#ffffff /* 線の色 */
}
#leftcolumn{height:100%;overflow:auto;-webkit-overflow-scrolling:touch}
#leftcolumn-wrap.open{-ms-transform:translate(0);-webkit-transform:translate(0);transform:translate(0)}
#side-bg{display:none;position:fixed;height:100%;width:100%;top:0;left:0;z-index:999;cursor:pointer}
#open.buttonclose{position:fixed}
.open-text{font-size:12px;position:absolute;bottom:0;left:0;width:100%}
#open-icon{display:block;margin:-1px 0 0 -10px;position:absolute;top:20px;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:-7px}
#open-icon:after{margin-top:5px}
#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)}
}