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}
.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}

/* ===================================
背景,文字,リンク設定
=================================== */

html{
font-size:62.5%;
height:100%
}
body{
background:#fffff3;/* 背景 ※メイン部分の指定は下の#wrapper */
color:#665c50; /* 文字色 ※メイン部分の指定は下の#wrapper */
font-size:1.3em;/* 文字の大きさ */
font-family:'Josefin Sans','Segoe UI','游ゴシック Medium','Yu Gothic Medium','游ゴシック体',YuGothic,'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
letter-spacing:.1em;
line-height:1.5;
text-align:center;
height:100%
}
/*  リンク
------------------------------ */
a{
color:inherit
}
#contents a{
color:#d8a6a2
}
.block a{
color:#fffff3
}
a:hover{
text-decoration:underline
}

/* ===================================
基本
=================================== */

#wrapper{
border-bottom:2px solid #665c50;
border-top:2px solid #665c50;
min-height:100%;
min-width:1000px;
text-align:left;
position:relative
}
header{
padding:10px 30px 20px 10px;
position:absolute;
top:0;left:0;
width:250px;/* (※1)と同じ */
z-index:10
}
#main{
float:left;
width:100%
}
#contents{
background:#665c50;
color:#fffff3;
margin:0 250px;
/* 左側の幅と右側の幅と同じ値を左右に指定 */
/* 左右の幅が異なる場合は margin:0 (※2) 0 (※1) と記述 */
/* (例) margin:0 250px 0 100px  */
height:100%
}
#contents-inner{
padding:20px 20px 50px
}
#leftcolumn{
background:#e1c2b8 url(image/back01.gif) repeat-y 100% 0;
float:left;
margin-left:-100%;
position: relative;
width:250px; /* 左側の幅(※1) */
height:100%
}
#leftcolumn-inner{
padding:0 30px 20px 10px;
position:absolute;
bottom:0;
text-align:center;
height:100%;width:100%;
overflow:auto;
-webkit-overflow-scrolling:touch
}
#rightcolumn{
background-image:url(image/back02.gif),url(image/back03.gif);
background-repeat:repeat-y,repeat;
background-position:0 0,0 0;
float:left;
margin-left:-250px; /* (※2)と同じだけマイナス */
text-align:center;
width:250px /* 右側の幅(※2) */
}
#rightcolumn-inner{
padding:20px 10px 20px 30px
}
.block{
background:rgba(225,194,184,.8);
border-radius:5px;
margin:10px 0;
padding:10px 0
}
#wrapper > #main{
height:auto
}

/* ===================================
メニュー
=================================== */

#menu{
display:block;
font-size:1.2em;
font-weight:700
}
nav li a,nav li span{
color:#665c50;/* メニューの文字色 */
display:block;
letter-spacing:.1em;
padding:5px 25px;/* 一列の高さはここで調節 */
position:relative;
text-align:left
}
nav li a:hover,nav li span:hover{
color:#fffffc;
text-decoration:none;
transition:.6s
}
.sub-menu{
display:none;
overflow:hidden
}
.sub-menu li a:after{
display:none
}
/*  メニュー横の画像
------------------------------ */
nav > ul > li{
background:url(image/icon01.gif) no-repeat 0 0
}
nav > ul > li:nth-child(2n){
background:url(image/icon02.gif) no-repeat 0 0
}
/*  メニューの「>」
------------------------------ */
nav li span:after{
border-top:2px solid #665c50; /* 色 */
border-right:2px solid #665c50; /* 色 */
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}

/* ===================================
index
=================================== */

#index{
background:url(image/back03.gif);
padding:20px;
height:auto;min-height:inherit
}
.indexbox{
background:#665c50;
border-radius:5px;
color:#fffff3;
margin:0 auto;
padding:20px;
max-width:500px
}

/* ===================================
ページ上部へのリンク、著作権表示
=================================== */

#pagetop{
background:#665c50;
border-radius:30px;
color:#d8a6a2;
width:50px;height:50px; /* 大きさ */
bottom:40px;right:20px; /* 位置 */
line-height:16px;
padding-top:25px;
text-align:center;
display:block;
position:fixed;
box-sizing:border-box
}
#pagetop:before{
content:'\25B2';
font-size:14px;
position:absolute;
width:100%;
left:0;top:10px
}
#fl{
color:#d8a6a2;
position:absolute;
text-align:center;
width:100%;
bottom:0
}

/* ===================================
見出し、枠、線
=================================== */

h1{
font-size:1.3em;
margin:0 0 10px;
text-shadow:3px 3px 1px #ccc
}
h2{
background:#fffff3 url(image/icon03.gif) no-repeat 100% 50%;
border-radius:10px;
color:#665c50;
font-size:1.2em;
line-height:30px;
margin:20px 0;
padding:0 1em;
text-shadow:3px 3px 1px #ccc
}
#contents h2{
background:url(image/line01.gif) 100% 0;
color:#fffff3;
font-size:1.3em;
letter-spacing:.1em;
line-height:31px;
margin:20px 0;
text-shadow:1px 0 0 #665c50, 1px 1px 0 #665c50, 0 1px 0 #665c50, -1px 1px 0 #665c50, -1px 0 0 #665c50, -1px -1px 0 #665c50, 0 -1px 0 #665c50, 1px -1px 0 #665c50
}
h3{
background:url(image/icon05.gif) no-repeat;
border-bottom:1px dashed #d0cfb2;
font-size:1.1em;
font-weight:400;
line-height:20px;
margin:1em 0;
padding-left:20px
}
dt{
background:#e1c2b8;
border-radius:5px;
color:#665c50;
clear:both;
font-weight:700;
float:left;
margin:0 0 10px;
padding:0 10px;
width:10em
}
dd{
border-bottom:dotted 1px #dedec2;
margin:0 0 10px 12em;
padding:0 10px
}
em{
font-style:normal;
font-weight:700
}
input,textarea{
background:#e1c2b8;
border:3px double #665c50;
color:#665c50;
margin:3px 0;
width:200px
}
textarea{
height:50px
}
#leftcolumn textarea{
width:100%
}
hr{
border:0;
border-top:1px solid #ccc;
display:block;
margin:1em 0;
padding:0;
height:1px
}
.marker{
background:#c28d9c;
background:-webkit-linear-gradient(rgba(194,141,156,0) 50%, #c28d9c 0%);
background:linear-gradient(rgba(194,141,156,0) 50%, #c28d9c 0%)
}
.dcline{
border-left:8px solid #ffe1e4;
margin:5px 0;
padding:3px
}
.textbox{
border:1px dotted #fffffc;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#e1c2b8;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right
}
.txt{
border-left:1px dotted #fffffc;
margin:1em;
padding:0 0 0 1em
}
.frame{
background:#fff;
padding:6px;
border-radius:3px;
box-shadow:4px 4px 2px #5a5247
}
#rightcolumn li{
border-bottom:1px dashed #8c8673
}

/* ===================================
横幅1000pxで切り替え
=================================== */

/*  説明リストの横並び解除
------------------------------ */
@media screen and (max-width: 1000px){
dt{float:none;clear:none}
dd{margin-left:20px}
/*  画像の縮小表示
------------------------------ */
img{max-width:100%;height:auto}
}

/* ===================================
スマホ、タブレット用
横幅768pxで切り替え
=================================== */

@media screen and (max-width: 768px){
body{
font-size:1.5em
}
#wrapper{
background:url(image/back03.gif);
padding:15px 15px 30px
}
header{
background:#665c50;
border-radius:5px;
color:#fffff3;
min-height:60px;
margin:0 0 20px;
padding:10px 60px 10px 10px;
}
#contents{
margin:0 0 20px
}
#contents,.block{
background:#665c50;
border-radius:5px;
color:#fffff3;
padding:10px
}
#contents a:not(.bg-none),.block a:not(.bg-none){
color:#665c50;
background:#e1c2b8;
border-radius:5px;
display:inline-block;
line-height:1em;
margin:5px 5px 5px 0;
padding:5px
}
#contents a:not(.bg-none):hover,.block a:not(.bg-none):hover{
background:#fdfaee
}
#pagetop{
color:#665c50;
background:rgba(225,194,184,.9)
}
#fl a{
color:#fffff3;
background:#665c50;
border-radius:5px;
display:inline-block;
padding:5px
}
/*  リスト横並び
------------------------------ */
.block ul:before,.block ul:after{
content:" ";display:table
}
.block ul:after{
clear:both
}
.block li{
border-bottom:0;float:left
}

/*  リセット
------------------------------ */
#wrapper{height:auto;min-height:100%;min-width:inherit}
header{height:auto;width:auto;position:static}
#main{float:none;position:static;height:auto;width:auto}
#contents{height:auto;width:auto}
#contents-inner{padding:0}
#leftcolumn,#rightcolumn{background:none;float:none;margin:0 0 20px;position:static;height:auto;width:auto}
#leftcolumn-inner,#rightcolumn-inner{background:none;padding:0;position:static;text-align:left}
#fl{position:static}

/* ===================================
スマホ、タブレット用メニュー
=================================== */

/*  スライド
------------------------------ */
#side{
background:rgba(77,69,60,.9); /* 背景色 */
color:#fffff3; /* 文字色 */
display:none;
padding:70px 20px 20px; /* メニューボタン分空ける */
position:fixed;
line-height:2;
top:0;right:0;
height:100%;width:300px;
z-index:1000
}
#side-inner{
height:100%;
overflow:auto;
-webkit-overflow-scrolling:touch
}
#side-bg{
background:rgba(51,51,51,.5)/* 周りの背景色 */
}
/*  メニュー
------------------------------ */
nav li a,nav li span{
color:#fffff3; /* 文字色 */
padding:5px 30px /* 一列の高さはここで調節 */
}
nav li a:hover,nav li span:hover{
background:rgba(225,194,184,.8);
color:#fff
}
/*  サブメニューを一列にするなら削除
------------------------------ */
.sub-menu li{
display:inline-block;
width:50%
}
/*  メニューの線
------------------------------ */
nav ul > li:first-child{
border-top:1px solid #e1d7b8
}
nav li{
border-bottom:1px solid #e1d7b8
}
.sub-menu{
border-top:1px dotted #e1d7b8
}
.sub-menu li,.sub-menu li:first-child{
border:0
}
/*  メニュー横の画像
------------------------------ */
nav > ul > li,nav > ul > li:nth-child(2n){
background-position:0 15px
}
/*  メニューの「>」
------------------------------ */
nav li span:after{
border-top:2px solid #fffff3; /* 色 */
border-right:2px solid #fffff3; /* 色 */
}
/*  メニューを開くボタン
------------------------------ */
#open{
background:#fffff3; /* 背景 */
border:2px solid #e1c2b8; /* 枠線 */
border-radius:20px;
display:inline-block;
position:absolute;
height:40px;width:40px; /* 大きさ */
top:25px;right:30px; /* 位置 */
z-index:1001
}

#side-inner{height:100%;overflow:auto;-webkit-overflow-scrolling:touch}
#side-bg{display:none;position:fixed;height:100%;width:100%;top:0;left:0;z-index:999;cursor:pointer}
#open.buttonclose{position:fixed}
#open-icon,#open-icon:before,#open-icon:after{background:#665c50} /* 線の色 */
#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)}
}