*{margin:0;padding:0}
div,h1,h2,h3,p,ul,li,input,textarea,table,tr,th,td,footer,header,nav{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
a{text-decoration:none;outline:none}
a img{border-style:none}
ul,li{list-style-type:none}

html {
height:100%;
font-size:62.5%
}
body {
background:#fff;
color:#4f371b;
font-family:Verdana,Roboto,'游ゴシック','Yu Gothic','游ゴシック体','YuGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
font-size:1.2em;
height:100%;
letter-spacing:2px;
padding-left:320px;/* #leftcolumnのwidth+20 */
overflow-wrap:break-word;
word-wrap:break-word
}
a {
color:#ee8a88
}
/*--------------------------------------------------------
上(ヘッダー)
--------------------------------------------------------*/
header {
position:fixed; /* 固定 */
top:0;left:0;
height:100px;
width:100%;
z-index:10
}
#header-inner {
background:#fff;
margin-left:300px; /* #leftcolumnのwidthと同じ */
padding:20px;
text-align:right
}
/* ページ内リンクのずれ修正 */
.link{
margin-top:-100px; /* headerのheightと同じだけマイナス */
padding-top:100px; /* headerのheightと同じ数値 */
}
/*--------------------------------------------------------
メイン
--------------------------------------------------------*/
.index {
background:url(image/back01.gif) #ee8a88;
margin:20px;
height:auto
}
#contents {
background:#fff;
height:100%;min-height:100%;
width:100%
}
/* 左側 */
#leftcolumn {
background:url(image/back01.gif) fixed;
position:fixed; /* 固定 */
height:100%;
width:300px;/* 幅 */
left:0;top:0;
z-index:20
}
#leftcolumn-bg {
background:url(image/back02.gif) repeat-y 100% 0;
padding:50px 30px 0 20px;
height:100%;min-height:100%
}
#leftcolumn-inner {
height:90%;
overflow-y:auto;
-webkit-overflow-scrolling: touch
}
/* 左側の白背景枠 */
aside{
background:#fff;
clear:both;
margin:0 0 20px;
padding:8px;
border-radius:5px;
word-wrap:break-word
}
/* 右側 */
#rightcolumn {
background:#fff;
padding:100px 20px 20px 0; /* 先頭の数値はhedearのheightより少し多め */
}
/* 右側の背景枠 */
.block{
background:#4f371b;
color:#fff;
margin:20px 0;
padding:8px;
border-radius:5px;
word-wrap:break-word
}
body > #wrapper{
height:auto
}
/*--------------------------------------------------------
著作権表示、TOPへのリンク
--------------------------------------------------------*/
#pagetop{
background-color:rgba(238,138,136,0.6);
border:3px solid #4f371b;
border-radius:20px;
color:#fff;
font-size:30px;
line-height:50px;
text-align:center;
position:fixed;
bottom:10px;right:10px;
height:60px;width:60px
}
.arrow {
border-left:3px solid #fff;
border-top:3px solid #fff;
position:absolute;
top:40%;left:34%;
height:20px;width:20px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
box-sizing:border-box
}
.fl {
position:absolute;
text-align:center;
width:100%;
bottom:0;left:0
}
.fl a{
color:#fff
}
/*--------------------------------------------------------
メニュー
--------------------------------------------------------*/
#menu {
background:#4f371b;
border-radius:6px;
padding:10px;
text-align:center
}
nav li {
display:inline-block;
position:relative;
height:1.5em;line-height:1.5em; /* メニュー高さ */
}
nav li a,
nav .toggle {
color:#ee8a88;
display:inline-block;
padding:0 .5em
}
nav li:before {
color:#fff;
content:"│"
}
nav li:first-child:before {
content:""
}

/* サブメニュー */
nav li ul {
position:absolute;
width:200px; /* サブメニュー幅 */
z-index:100
}
nav li ul li {
background:#e1d7b8;
display:block;
overflow:hidden;
text-align:left;
visibility:hidden;
height:0
}
nav li ul li a {
color:#4f371b;
padding:0;
text-indent:1em;
width:100%
}
nav li ul li:hover,nav li ul li a:hover {
background:#ee8a88
}
nav li:hover ul li,nav li a:hover ul li {
visibility:visible;
overflow:visible;
transition:.6s;
height:2em;line-height:2em; /* サブメニュー高さ */
z-index:50
}
nav li ul li:before {
content:""
}
#open{display:none}
/*--------------------------------------------------------
見出し、枠、線
--------------------------------------------------------*/
h1 {
font-size:1.5em;
letter-spacing:3px
}
.index h1{
margin:1em 0
}
h2 {
color:#fff;
border-bottom:double 3px #ee8a88;
font-size:1.3em;
margin:20px 0
}
h2:first-letter {
color:#ee8a88;
font-size:1.5em
}
h3 {
border-bottom:dashed 1px #ee8a88;
margin:20px 0
}
h3:first-letter {
color:#ee8a88;
font-size:1.3em
}
.marker {
background:#ee8a88; /* Ie9 */
background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #4f371b), color-stop(0.49, #4f371b), color-stop(0.5, #ee8a88), color-stop(1, #ee8a88));
background:-webkit-linear-gradient(transparent 50%, #ee8a88 0%);
background:linear-gradient(transparent 50%, #ee8a88 0%);
}
.ln01 {
border-left:5px solid #ee8a88;
margin:5px 0;
padding:3px
}
.ln02 {
border-left:5px solid #fff;
margin:5px 0;
padding:3px
}
.navi {
border:1px #ee8a88 solid;
margin:10px 0;
padding:3px;
text-align:center
}
.title {
color:#ee8a88;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right
}
.txt {
border-left:1px dotted #ccc;
color:#ccc;
margin:1em;
padding:0 0 0 1em
}
dt{
border-bottom:1px solid #4f371b;
font-weight:700
}
dd{
padding:1em
}
em {
font-weight:700
}
input,textarea {
background-color:#fff;
border:1px solid #4f371b;
color:#4f371b;
font-family:Verdana,Roboto,'游ゴシック','Yu Gothic','游ゴシック体','YuGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
font-size:1em;
margin:3px 0;
width:200px
}
textarea {
height:50px
}
.frame {
background:#fff;
border-radius:3px;
padding:5px;
}
hr {
display:block;
border:0;  
border-top:1px solid #ccc;
margin:1em 0;
padding:0;
height:1px
}
.cf:before,.cf:after{content:" ";display:table}
.cf:after{clear:both}
/*--------------------------------------------------------
スマホ、タブレット用
横幅600pxで切り替え
--------------------------------------------------------*/
@media screen and (max-width: 600px) {
body {
font-size:1.3em;
padding-left:0;
}
#wrapper {
background:url(image/back01.gif);
}
header{
background:url(image/back03.gif) repeat-x 0 0;
height:auto;min-height:60px;
position:static
}
#header-inner {
background:none;
margin-left:0;
padding:10px
}
#contents,#rightcolumn,#leftcolumn,#leftcolumn-bg,aside{
background:none;
width:100%
}
#contents {
margin:0 auto
}
#leftcolumn {
background:#fff;
height:auto;
position:static
}
#rightcolumn {
padding:20px
}
#leftcolumn-bg{
padding:20px
}
aside{
margin-top:0;
padding:0
}
.link{
margin-top:0;
padding-top:0
}
.fl {
position:static
}
#leftcolumn-top {
background:url(image/back04.gif) repeat-x 0 0;
height:25px
}
#rightcolumn a{
color:#fff;
background:#ee8a88;
border-radius:3px;
display:inline-block;
margin:5px 5px 5px 0;
padding:5px
}
#rightcolumn a img{
vertical-align:bottom;
}
#leftcolumn a {
color:#fff;
background:#ee8a88;
border-radius:3px;
display:block;
padding:5px
}
/*--------------------------------------------------------
スマホ、タブレット用メニュー
--------------------------------------------------------*/
/* メニューを開くボタン */
#open {
background-color:rgba(238,138,136,0.6);
border:3px solid #4f371b;
border-radius:20px;
display:inline-block;
margin:0 5px;
position:absolute;
height:40px;width:40px;/* 大きさ */
top:10px;left:10px/* 位置 */
}
#open-icon,#open-icon:before,#open-icon:after {
background:#4f371b; /* 線の色 */
}
#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)}

/* メニュー */
#menu{
background-color:rgba(238,138,136,0.9);/* メニューの背景色 */
border-radius:0;
color:#fff;/* メニューの文字色 */
display:none;
position:absolute;
padding:0;margin:0;
width:100%;
top:60px;left:0;/* 位置 */
text-align:left;
z-index:20
}
nav ul {
border-top:1px solid #f4b5b3;
}
nav li {
border-bottom:1px solid #f4b5b3;
display:inherit;
height:auto;line-height:inherit;
width:auto
}
nav li:before {
content:""
}
nav li a,
nav .toggle{
color:#fff;/* メニューの文字色 */
display:block;
padding:15px 0; /* メニュー高さはここで調整 */
position:relative;
text-indent:1em
}
nav li a:hover,
nav .toggle:hover{
background-color:rgba(221,211,179,0.8);
color:#4f371b
}
nav .toggle:after{
border-top:solid 3px #fff; /* メニュー「>」の色 */
border-right:solid 3px #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 ease-in-out
}
nav .toggle.open:after {
-ms-transform:rotate(135deg);
-webkit-transform:rotate(135deg);
transform:rotate(135deg)
}
/* サブメニュー */
nav li ul {
position:static;
display:none;
margin:0;
overflow:hidden;
width:100%
}
nav li ul li {
background:none;
border-bottom:0;
display:inherit;
float:left;
visibility:visible;
height:auto;width:50% /* 一列にするなら100% */
}
nav li ul li a {
color:#fff;
padding:15px 0; /* サブメニュー高さはここで調整 */
text-indent:2em
}
nav li ul li:hover,nav li ul li a:hover {
background-color:rgba(221,211,179,0.8);
color:#4f371b
}
nav li a:hover ul li,nav li:hover ul li {
height:auto;line-height:inherit
}
nav li ul li a:after{
display:none
}
}