*{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{
font-size:62.5%
}
body{
background:#fff;
color:#4a4a40;
font-size:1.2em;
font-family:Verdana,Roboto,'MS PGothic',sans-serif;
letter-spacing:.1em;
padding:20px 20px 60px;
overflow-y:scroll;
overflow-wrap:break-word;
word-wrap:break-word
}
a{
color:#8F1A54
}

#wrapper{
margin :0 auto;
width:800px 
}

header{
text-align:right
}

#menu{
border-bottom:0.5em solid #b9e1d8;
font-family:Georgia,sans-serif;
font-size:1.4em;
font-weight:700;
line-height:1;
width:100%
}
nav li{
display:inline-block; 
position:relative; 
height:2em;line-height:2em; 
}
nav li a,nav li span{
color:#b9e1d8;
display:block;
padding:0 5px;
text-decoration:none
}

.sub-menu{
background:#b9e1d8;
position:absolute;
width:200px; 
z-index:20
}
.sub-menu li{
display:block; 
visibility:hidden; 
overflow:hidden; 
height:0; 
width:100%
}
.sub-menu li a{
color:#fff
}
.sub-menu li a:hover{
background:#d097ca
}
nav li:hover .sub-menu li{
visibility:visible;
overflow:visible;
height:2em;line-height:2em; 
transition: .5s
}
#open{display:none}

#contents{
line-height:24px;
margin:2em auto;
overflow:auto
}
#contents a:hover{
text-decoration:underline
}
#contents p{
background-image:url(image/line01.gif);
line-height:24px
}

#leftcolumn{
float:left;
margin:20px 0;
text-align:left;
width:220px
}

#rightcolumn{
display:inline;
float:right;
margin:0;
width:560px
}

footer{
border-top:2px solid #b9e1d8;
padding:20px 0;
text-align:right
}

#pagetop 
background:black;
color:#000;
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:white
}
#fl a {
display:inline-block;
margin:10px 0
}

h1{
color:#d097ca;
font-family:Georgia,sans-serif;
font-size:2em;
line-height:1;
margin:0 0 20px;
text-align:right
}
h2{
font-size:1.1em;
border-bottom:1px solid;
margin:20px 0
}
h2 span{color:#b9e1d8;}

h3{
background:#b9e1d8;
font-size:1.1em;
font-weight:400;
margin:20px 0;
padding:.1em .2em;
position:relative
}
h3::after{
border-width:0 10px 10px 0;
border-style:solid;
border-color:#8e9283 #8e9283 #fff #fff;
content:'';
position:absolute;
right:0;top:0;
width:0
}
dt{
font-weight:700;
float:left;
clear:both;
margin:0 0 5px;
width:160px
}
dd{
border-bottom:dashed 1px #4a4a40;
margin:0 0 5px 160px
}
#leftcolumn dt{
font-weight:700;
float:none;
clear:none;
margin:0;
width:auto
}
#leftcolumn dd{
border-bottom:0;
margin:0 0 0 1em
}
em{
font-weight:700
}
input,textarea{
background:#8e9283;
border:1px dotted #4a4a40;
color:#ccc;
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:#b9e1d8; /* Ie9 */
background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #8e9283), color-stop(0.79, #8e9283), color-stop(0.8, #b9e1d8), color-stop(1, #b9e1d8));
background:-webkit-linear-gradient(transparent 80%, #b9e1d8 0%);
background:linear-gradient(transparent 80%, #b9e1d8 0%)
}
.dcline{
border-left:5px solid #d0c097;
margin:5px 0;
padding:3px
}
.textbox{
border:1px solid #d097ca;
color:#ccc;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#d097ca;
font-size:1.7em;
font-weight:700;
margin:0.3em 0;
text-align:left
}
.txt{
border-left:1px dotted;
color:#4a6b68;
margin:1em;
padding:0 0 0 1em
}
.frame{
background:#fff;
border-radius:3px;
padding:6px;
box-shadow:3px 3px 3px #4a4a40
}
.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:40px;
padding-left:60px
}
#wrapper,h1{
width:100%
}
#leftcolumn,#rightcolumn{
float:none;
width:100%
}
#rightcolumn{
margin-left:0
}
/* 画像の縮小表示 */
img{
max-width:100%;
height:auto
}
dt{float:none;clear:none;width:auto}
dd{margin-left:20px}
/*--------------------------------------------------------
スマホ、タブレット用メニュー
--------------------------------------------------------*/
/* メニュー */
#menu{
background:rgba(185,225,216,.8); /* メニューの背景色 */
border-bottom:0;
text-align:left;
display:none;
position:absolute; /* 表示位置固定 */
top:50px;left:0; /* headerを基準とした位置 */
z-index:20
}
nav li{
display:block; /* 横並び解除 */
height:auto;line-height:inherit /* 高さリセット */
}
nav li a,nav li span{
color:#4a4a40;
position:relative;
padding:15px 20px /* リンクの余白 一列の高さはここで調節 */
}
nav li a:hover,nav li span:hover{
color:#fff;
background:#4a4a40
}

/* サブメニュー */
.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)
}
/* メニューを開くボタン */
#open{
background:#b9e1d8;
border-radius:6px;
color:#999;
display:inline-block;
position:absolute;
padding:.5em;
height:40px;width:40px;
top:0;left:0 /* headerを基準とした位置 */
}
#open-icon,#open-icon:before,#open-icon:after{
background:#8e9283; /* 線の色 */
}
#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)}
}