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,textarea{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}
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}
.if-container{display:inline-block;margin:0 auto;height:100%;width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.ifrm{border:none;display:block;height:100%;width:100%}
.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}
/* この上はいじらないほうがいいです */

html{
font-size:62.5%;
height:100%
}
body{
background:#fff;/* インラインフレーム内背景色 */
color:#8c8673;/* インラインフレーム内文字色 */
font-family:Verdana,Roboto,'游ゴシック','Yu Gothic','游ゴシック体','YuGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
font-size:1.3em;
letter-spacing:.1em;
line-height:1.5;
padding:20px 20px 60px;
text-align:left
}
a{
color:#9ac9d0;
display:inline-block;
margin:3px 3px 3px 0;
border-bottom:1px solid #ddd
}
a:hover{
background:rgba(248,238,162,.8);
color:#8c8673;
transition:.6s
}
#page a{
border-bottom:0
}
a img{
vertical-align:bottom
}
/*--------------------------------------------------------
インラインフレーム外設定
--------------------------------------------------------*/
#page{
/* 以下背景色 */
background:#f9efa2;
background:-o-linear-gradient(#9ac9d0,#f9efa2);
background:-webkit-gradient(linear,left top,left bottom,from(#9ac9d0),to(#f9efa2));
-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#9ac9d0',endColorstr='#f9efa2',GradientType=0)";
background:linear-gradient(#9ac9d0,#f9efa2);
/* 以上背景色 */
color:#8c8673;
padding:20px;
height:100%
}
#wrapper{
color:#fff;
margin:0 auto;
text-align:left;
height:100%;
width:1000px;  /* 大きさはここで変更 変更した場合は下の方のmax-width: 1040pxの値も変更 */
}
header{
min-height:70px
}
#header-inner{
padding:0 10px 10px 10px;
text-shadow:2px 2px 2px rgba(140,134,115,.6)
}
#contents{
padding-bottom:2px;
width:100%
}
#rightcolumn{
background:#fff;
border:1px solid #8c8673;
float:right;
margin:0;
width:680px
}
#rightcolumn-inner{
padding:20px;
height:100%
}
#leftcolumn{
float:left;
width:300px
}
#leftcolumn-inner{
height:100%;
overflow:auto;
-webkit-overflow-scrolling:touch;
padding:10px;
text-shadow:2px 2px 2px rgba(140,134,115,.6)
}
.footer-inner{
padding:10px 0;
text-align:right;
text-shadow:2px 2px 2px rgba(140,134,115,.6)
}
/*--------------------------------------------------------
ページ上部へのリンク、著作権表示
--------------------------------------------------------*/
#pagetop {
background:rgba(154,201,208,.5);/* 背景 */
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;
text-decoration:none;
z-index:10
}
#pagetop:before {
content:'\25B2';
font-size:14px;
position:absolute;
left:0;top:10px;
width:100%
}
#pagetop:hover {
background:#8c8673
}
#fl a{
color:#fff;
display:inline-block;
margin:10px 0;
text-decoration:none
}
/*--------------------------------------------------------
メニュー
--------------------------------------------------------*/
#menu{
display:block;
margin:0 auto;
text-shadow:2px 2px 2px rgba(140,134,115,.6)
}
nav li a,nav li span{
border-bottom:0;
color:#fff;
display:block;
padding:5px 0; /* 一列の高さはここで調節 */
position:relative
}
nav li a:hover,nav li span:hover{
background:rgba(248,238,162,.8);
border-radius:5px;
color:#8c8673;
transition:.6s
}
.sub-menu{
display:none;
margin:0;
overflow:hidden
}
.sub-menu li{
text-indent:1em
}
.sub-menu li a:after{
display:none
}
nav li span:after{
border-top:solid 2px #fff; /* メニュー「>」の色 */
border-right:solid 2px #fff; /* メニュー「>」の色 */
content:"";
display:block;
margin-top:-5px;
width:5px;
height:5px;
top:50%;
right:10px;
position:absolute;
transform:rotate(45deg);
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transition:.6s ease-in-out
}
nav li span.open:after{
transform:rotate(135deg);
-ms-transform:rotate(135deg);
-webkit-transform:rotate(135deg)
}
#open{display:none}
/*--------------------------------------------------------
index
--------------------------------------------------------*/
.indexbox{
background:#fff;
border:1px solid #8c8673;
margin:20px auto;
padding:20px;
text-align:left;
width:580px
}
/*--------------------------------------------------------
見出し、枠、線
--------------------------------------------------------*/
h1{
font-size:2em;
letter-spacing:.1em;
margin:0 0 10px;
text-shadow:2px 2px 2px rgba(140,134,115,.6)
}
.h2{
color:#8c8673;
font-size:1.5em;
font-weight:700;
margin:1em 0;
padding:.2em 0;
position:relative;
border-bottom:2px solid #f8eea2
}
.h2:first-letter{
color:#9ac9cf;
font-size:1.3em
}
h2::after,.h2::after{
background:#8c8673;
position:absolute;
bottom:-2px;left:0;
content:'';
height:2px;width:20%;
z-index:2
}
h2{
color:#8c8673;
font-size:1.5em;
font-weight:700;
margin:1em 0;
padding:.2em 0;
position:relative;
border-bottom:2px solid #fff
}
h2:first-letter{
color:#fff;
font-size:1.3em
}
h3,.h3{
border-bottom:1px dotted;
font-size:1.1em;
line-height:18px;
margin:1em 0
}
dt{
border-bottom:1px solid;
font-weight:700
}
dd{
padding:1em
}
em{
background:#f8eea2; /* Ie9 */
background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.79, #fff), color-stop(0.8, #f8eea2), color-stop(1, #f8eea2));
background:-webkit-linear-gradient(transparent 80%, #f8eea2 0%);
background:linear-gradient(transparent 80%, #f8eea2 0%);
font-weight:700
}
input,textarea{
background:rgba(255,255,255,.6);
border:1px solid;
color:#8c8673;
margin:3px 0;
width:200px
}
#leftcolumn input,#leftcolumn textarea{
width:90%
}
textarea{
height:50px
}
hr{
display:block;
border:0;  
border-top:1px dashed #8c8673;
margin:1em 0;
padding:0;
height:1px
}
.marker{
background:#e3efeb;
padding:1px 5px
}
.ln01{
border-left:8px solid #9ac9cf;
margin:8px 0;
padding:3px
}
.ln02{
border-left:8px solid #f8eea2;
margin:8px 0;
padding:3px
}
.textbox{
border:1px #8c8673 solid;
border-radius:5px;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#9ac9d0;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right;
text-shadow:2px 2px 2px rgba(218,218,218,.8)
}
.txt{
border-left:1px dotted;
margin:1em;
padding:0 0 0 1em
}
.frame{
border:6px solid #fff;
border-radius:3px;
box-shadow:4px 4px 4px #ccc;
-webkit-box-shadow:4px 4px 4px #ccc
}
/*--------------------------------------------------------
横幅1040pxで切り替え
1040px = #pageの(paddingx2=40)+#wrapperのwidth
--------------------------------------------------------*/
@media screen and (max-width: 1040px){
#wrapper{width:100%}
#rightcolumn{width:70%}
#leftcolumn{width:25%}
}
/*--------------------------------------------------------
スマホ、タブレット用
横幅600pxで切り替え
--------------------------------------------------------*/
@media screen and (max-width: 600px){
body{padding:10px 15px 70px}
#wrapper{position:relative;width:100%}
header{position:relative;text-align:left;padding-right:70px}/* 開閉ボタン分右に余白 */
#leftcolumn{float:none;width:100%}
#leftcolumn-inner{padding:0}
#rightcolumn{float:none;width:100%}
#rightcolumn-inner{padding:10px}
.indexbox{width:auto}
#leftcolumn input,#leftcolumn textarea{background:rgba(255,255,255,.1);color:#fff}
img{max-width:100%;height:auto} /* 画像の縮小表示 */

/* スライド */
#leftcolumn{
background:rgba(0,0,0,.8); /* 背景色 */
padding:70px 20px 20px; /* メニューボタン分空ける */
width:300px; /* (*1)同じにする */
transition:all .3s;
transform:translate(300px); /* (*1)同じにする */
-ms-transform:translate(300px); /* (*1)同じにする */
-webkit-transform:translate(300px); /* (*1)同じにする */



position:fixed;
top:0;right:0;
z-index:1000
}
#leftcolumn.open{
transform:translate(0);
-ms-transform:translate(0);
-webkit-transform:translate(0)
}
nav > ul > li+li{
border-top:1px solid #ccc
}
nav li a,nav li span{
margin:5px 0;
padding:10px /* 一列の高さはここで調節 */
}
.sub-menu{
border-top:1px solid #ccc
}
/* 一列にするなら削除 */
.sub-menu li{
display:inline-block;width:50%
}
/* メニューを開くボタン */
#open{
color:#fff;/* 文字色 */
display:inline-block;
margin:0 5px;
position:absolute;
text-align:center;
height:60px;width:60px;/* 大きさ */
top:0;right:0;/* headerを基準にした位置 */
z-index:1001
}
#open.buttonclose{
position:fixed;
top:10px;right:20px
}
.open-text{position:absolute;bottom:0;left:0;width:100%}
#open .close + .open-text{color:#f9efa2}/* 開いた時の文字色 */
#open-icon,#open-icon:before,#open-icon:after{background:#fff}/* 線の色 */
#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:-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);background:#f9efa2}/* 開いた時の線の色 */
#open .close:after{-ms-transform:rotate(-135deg);-webkit-transform:rotate(-135deg);transform:rotate(-135deg);background:#f9efa2}/* 開いた時の線の色 */
}