*{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}
a img{border-style:none}
ul,li{list-style-type:none}

html{
font-size:62.5%
}

body{
background:#fff;
color:#000;
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.5;
text-align:center;
overflow-y:scroll;
overflow-wrap:break-word;
word-wrap:break-word
}

a{
color:#999
}

#wrapper{
background:#fff;
border:1px solid #000;
margin:20px auto;
width:600px
}

header{
text-align:right
}

header a{
color:#fff
}

.header-inner{
background:#000;
color:#fff;
padding:10px
}

#menu{
background:#73caec;
background:-webkit-gradient(linear, left top, left bottom, from(#e3ffff), to(#73caec));
background:-webkit-linear-gradient(#e3ffff, #73caec);
background:linear-gradient(#e3ffff, #73caec);

border-top:1px solid #000;
border-bottom:1px solid #000;
font-weight:700;
line-height:1;
margin:10px 0;
width:100%;
text-align:right
}

nav li{
display:inline-block;
position:relative;
height:2em;line-height:2em;
}

nav li a,nav li span{
background:-webkit-linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(126,207,238,.6) 50%) 0 0;
background:linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(126,207,238,.6) 50%) 0 0;
background-size:200% auto;
border-left:1px solid #000;
color:#000;
display:block;
margin-left:-1px;
padding:0 10px;
transition:.3s
}

nav li a:hover,nav li span:hover {
background-position:-100% 0
}


.sub-menu{
background:rgba(0,0,0,.8);
position:absolute;
width:180px;
z-index:20
}

.sub-menu li{
display:block;
visibility:hidden;
overflow:hidden;
height:0;
width:100%;
text-align:left
}

.sub-menu li a{
color:#fff
}

nav li:hover .sub-menu li{
visibility:visible;
overflow:visible;
height:3em;line-height:3em;
}

#open{display:none}

#contents{
padding:10px 20px;
text-align:left
}

#contents a{
color:#7cceee;
text-decoration:underline;
text-decoration-color:#ccc
}

#contents a img{text-decoration:none}

footer{
border-top:1px solid #000;
margin:10px 20px;
padding:10px 0;
text-align:right
}

#pagetop {
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(126,207,238,0.8)
}

#fl a{
margin:10px 0
}

h1{
color:#cbfcff;
font-size:1.3em;
text-align:left;
margin:0 0 .5em
}

h1 a{
color:#cbfcff
}

h2{
background:#000000;
color:#fff;
font-size:1.1em;
margin:10px 0 10px -20px;
padding:.1em 1em;
position:relative;
text-align:right
}

h2::after{
border-width:0 10px 10px 0;
border-style:solid;
border-color:#fff #fff #000 #000;
box-shadow:-1px 1px 2px rgba(0, 0, 0, .1);
content:'';
position:absolute;
right:0;
top:0;
width:0
}

h3{
border-bottom:3px double #000;
font-size:1em;
margin:2em 0
}

h4{
background-image:url("../image/rid/banner.jpg");
background-position:-500px center;
color:#fff;
font-size:1.1em;
margin:10px 0 10px -20px;
padding:.1em 1em;
position:relative;
text-align:right
}

dt{
color:#7cceee;
font-weight:700;
float:left;
clear:both;
margin:0 0 5px;
width:150px
}

dd{
border-bottom:1px solid #7cceee;
margin:0 0 5px 160px
}

em{
background:#e3e3e3;
font-weight:700
}

input,textarea{
background:#7cceee;
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:#aee6f6;
background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.49, #fff), color-stop(0.5, #aee6f6), color-stop(1, #aee6f6));
background:-webkit-linear-gradient(transparent 50%, #aee6f6 0%);
background:linear-gradient(transparent 50%, #aee6f6 0%)
}

.dcline{
border-left:3px solid #000;
margin:5px 0;
padding:3px
}

.textbox{
border:1px solid;
margin:10px 0;
padding:3px;
text-align:center
}

.title{
color:#7cceee;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right
}

.txt{
border-left:1px dotted #000;
color:#999;
margin:1em;
padding:0 0 0 1em
}

.frame{
background:#000;
padding:5px;
border-radius:3px
}

.orb-button img {
    transition: filter 0.2s ease;
}

.orb-button:hover img,
.orb-button:focus-visible img {
    filter: invert(1);
}

@media screen and (max-width: 600px){
body{font-size:1.4em;margin:0 20px 60px}
#wrapper{width:100%}
header{position:relative}
dt{float:none;clear:none;width:auto}
dd{margin-left:20px}
img{max-width:100%;height:auto}


#menu{
background:rgba(0,0,0,.8);
text-align:left;
border:none;
margin:0 auto;
display:none;
position:absolute;
left:0;
z-index:10
}

nav li{
display:inherit;
height:auto;line-height:inherit
}

nav li a,nav li span{
border-left:0;
color:#fff;
position:relative;
padding:15px 0;
text-indent:1em;
transition:.5s
}

.sub-menu{
background:none;
position:static;
display:none;
width:100%
}
.sub-menu li{
text-indent:1em;
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:-webkit-gradient(linear, left top, left bottom, from(#e3ffff), to(#73caec));
background:-webkit-linear-gradient(#e3ffff, #73caec);
background:linear-gradient(#e3ffff, #73caec);
border-top:1px solid #000;
border-bottom:1px solid #000;
color:#000;
display:block;
padding:.5em;
margin:10px 0
}
}