*{margin:0;padding:0}
div,h1,h2,h3,p,ul,li,input,textarea,table,tr,th,td,footer,header,nav{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,body{
min-height:100%
}
html{
font-size:62.5%
}
body{
/* 以下背景色 */
background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #ea9fd7), color-stop(0.00, #9fbcea));
background: -webkit-linear-gradient(#9fbcea, #ea9fd7);
background: linear-gradient(#9fbcea, #ea9fd7);
/* 以上背景色 */
color:#666;/* 文字色 */
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.5em;
text-align:center;
overflow-y:scroll;
overflow-wrap:break-word;
word-wrap:break-word
}
a{
color:#82e8cc
}
/*--------------------------------------------------------
基本
--------------------------------------------------------*/
#wrapper{
margin:20px auto;
text-shadow:2px 2px 2px #ddd;
width:600px /* 全体の幅・大きさはここで変更 */
}
/*--------------------------------------------------------
上(ヘッダー)
--------------------------------------------------------*/
header{
background:rgba(255,255,255,.6);
padding:10px;
margin:10px;
text-align:center
}
.header-inner{
background:url(image/back01.png) #fff no-repeat 0 0;/* 背景 */
border:1px #999 dotted;
min-height:150px;
padding:20px
}
/*--------------------------------------------------------
メニュー
--------------------------------------------------------*/
#menu{
line-height:1;
margin:10px 0;
width:100%;
text-align:center
}
nav li{
display:inline-block; /* 横並び */
position:relative; /* サブメニュー表示位置の基準 */
height:2em;line-height:2em; /* メニュー高さ */
}
nav li a,nav li span{
color:#512DA8;
display:inline-block;
padding:0 5px;
text-decoration:none
}
nav li+li:before{
content:"│"
}
/* サブメニュー */
.sub-menu{
background:#dccbf5;
position:absolute;
width:200px; /* サブメニュー幅 */
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{
color:#666;
display:block
}
.sub-menu li a:hover{
background:#82e8cc
}
nav li:hover .sub-menu li{
visibility:visible;
overflow:visible;
height:2em;line-height:2em; /* サブメニュー高さ */
transition: .5s
}
#open{display:none}
/*--------------------------------------------------------
メイン
--------------------------------------------------------*/
#contents{
background:rgba(255,255,255,.6);
margin:10px;
padding:20px;
position:relative;
text-align:left;
z-index:10
}
#contents::before{
background:url(image/back02.png) #fff no-repeat 100% 100%;/* 背景 */
border:1px #999 dotted;
bottom:0;
content:"";
display:block;
left:0;
margin:10px;
padding:10px;
position:absolute;
right:0;
top:0;
z-index:-1
}
#contents a{
background:rgba(255,255,255,.8);
display:inline-block
}
#contents a:hover{
background:#eae7ce;
border-radius:5px;
color:#666;
transition:.6s
}
#contents a img{
margin:2px 2px 2px 0;
vertical-align:bottom
}
/*--------------------------------------------------------
下(フッター)
--------------------------------------------------------*/
footer{
background:rgba(255,255,255,.6);
margin:10px;
padding:10px 20px;
position:relative;
z-index:10
}
footer::before{
background:#fff;
border:1px #999 dotted;
bottom:0;
content:"";
display:block;
left:0;
margin:10px;
position:absolute;
right:0;
top:0;
z-index:-1
}
/*--------------------------------------------------------
ページ上部へのリンク、著作権表示
--------------------------------------------------------*/
#pagetop{
background:#c7ace0;
border-radius:30px;
height:40px;width:40px;
position:fixed;
bottom:30px;right:15px;
z-index:20
}
.arrow{
border-left:2px solid #fff;
border-top:2px solid #fff;
position:absolute;
top:40%;left:30%;
height:14px;width:14px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg)
}
#fl a {
display:inline-block;
margin:10px 0
}
/*--------------------------------------------------------
見出し、枠、線
--------------------------------------------------------*/
h1{
color:#512DA8;
font-size:1.5em;
padding:0 0 10px
}
h2{
background:#dccbf5;
border-radius:6px;
color:#fff;
font-size:1em;
font-weight:700;
letter-spacing:.1em;
margin:1em 0;
padding:5px 10px;
position:relative
}
h2::after{
border:8px solid transparent;
border-top:8px solid #dccbf5;
content:'';
position:absolute;
top:100%;left:30px;
height:0;width:0
}
h3{
border-bottom:#999 dashed 1px;
background:url(image/icon01.png) no-repeat 0 50%;
font-size:1em;
font-weight:400;
margin:20px 0;
padding-left:18px
}
dt{
font-weight:700;
margin:0px 0px 5px
}
dd{
border-bottom:1px solid #c6bbaa;
margin:0px 0px 5px 2em
}
em{
font-weight:700
}
input,textarea{
background:#fffff3;
border:1px solid;
color:#999;
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:#f8c8c8;
background:-webkit-linear-gradient(transparent 50%, #f8c8c8 0%);
background:linear-gradient(transparent 50%, #f8c8c8 0%)
}
.dcline{
border-left:8px solid #eae7ce;
margin:5px 0;
padding:3px
}
.textbox{
border:1px dotted #999;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#d5cf9b;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right
}
.txt{
border-left:1px dotted #999;
margin:1em;
padding:0 0 0 1em
}
.frame{
background:#fff;
border-radius:3px;
padding:6px;
box-shadow:3px 3px 3px #999;
}
/*--------------------------------------------------------
スマホ、タブレット用
横幅600pxで切り替え
--------------------------------------------------------*/
@media screen and (max-width: 600px){
body{font-size:1.4em}
#wrapper{width:100%}
.header-inner{padding:10px}
img{max-width:100%;height:auto} /* 画像の縮小表示 */
/*--------------------------------------------------------
スマホ、タブレット用メニュー
--------------------------------------------------------*/
/* メニュー */
#menu-wrap{
position:relative/* メニュー表示位置の基準 */
}
#menu{
background:#ea9fd7; /* メニューの背景色 */
text-align:left;
display:none;
position:absolute; /* 表示位置固定 */
left:0; /* #menu-wrapを基準とした位置 */
z-index:20
}
nav li{
display:block; /* 横並び解除 */
height:auto;line-height:inherit /* 高さリセット */
}
nav li+li:before{
content:none
}
nav li a,nav li span{
color:#fff;
display:block;
position:relative;
padding:15px 20px /* リンクの余白 一列の高さはここで調節 */
}
nav li a:hover,nav li span:hover,.sub-menu li a:hover{
background:#cfaade
}

/* サブメニュー */
.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 #8c8673; /* メニュー「>」の色 */
border-right:3px solid #8c8673; /* メニュー「>」の色 */
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:#ea9fd7;
border-radius:5px;
display:block;
padding:.5em;
margin:10px 0
}
}