*{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;font-weight:inherit;color:inherit}
a{text-decoration:none;outline:none}
a img{border-style:none}
ul,li{list-style-type:none}

html{
min-height:100%;
position:relative;
font-size:62.5%
}
body{
background:#fff url(image/back01.gif);
color:#000000;/* 文字色 */
font-size:1.6em;/* 文字の大きさ */
font-family:Verdana,Roboto,'游ゴシック','Yu Gothic','游ゴシック体','YuGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
letter-spacing:.1em;
line-height:1.8;
text-align:center;
overflow-y:scroll;
overflow-wrap:break-word;
word-wrap:break-word
}
a {
color:#1a237e;
}
a:hover {
color:#ffffff;
}
#contents a:hover{
text-decoration:underline
}
/*--------------------------------------------------------
基本
--------------------------------------------------------*/
#wrapper{
text-align:left
}
#index{
margin:20px auto;
text-align:center
}
.indexbox{
background:#f8cfd0;
border-radius:5px;
margin:0 auto;
padding:20px;
width:400px
}
/*--------------------------------------------------------
上
--------------------------------------------------------*/
header{
background:url(image/back02.gif) repeat-x 50% 100%;
color:#fff;
position:relative;
min-height:80px;
width:100%;
min-width:1000px; /* #contentsのwidthと同じ数値 */
z-index:30;
text-align:center;
}
#header-inner{
padding:10px
}
/*--------------------------------------------------------
メイン
--------------------------------------------------------*/
#contents{
position:relative;
margin:0 auto;
width:1000px; /* 全体の幅・大きさはここで変更 */
}
#main{
background:rgba(255,255,255,.4);
border-radius:5px;
margin:10px auto;
padding:10px;
position:relative;
z-index:10
}
#heart{
position:fixed;
margin:auto;
left:0;right:0;
width:700px;height:600px
}
#heart:before,
#heart:after{
position:absolute;
content:"";
left:350px;top:20px;
width:380px;height:580px;
background:#f8cfd0;
border-radius:200px 200px 0 0;
-webkit-transform:rotate(-45deg);
-ms-transform:rotate(-45deg);
transform:rotate(-45deg);
-webkit-transform-origin:0 100%;
-ms-transform-origin:0 100%;
transform-origin:0 100%
}
#heart:after{
left:-30px;
-webkit-transform:rotate(45deg);
-ms-transform:rotate(45deg);
-o-transform:rotate(45deg);
transform:rotate(45deg);
-webkit-transform-origin:100% 100%;
-ms-transform-origin:100% 100%;
transform-origin:100% 100%
}
/*--------------------------------------------------------
下
--------------------------------------------------------*/
footer{
background:url(image/back03.gif) repeat-x 50% 0;
color:#fff;
position:absolute;
bottom:0;left:0;
width:100%;
min-width:1000px; /* #contentsのwidthと同じ数値 */
}
.footer-inner{
padding:10px;
text-align:center
}
/*--------------------------------------------------------
メニュー
--------------------------------------------------------*/
#menu{
font-size:1.5em;
font-weight:700;
line-height:1;
padding:10px 0;
text-align:center;
width:100%
}
nav li{
display:inline-block; /* 横並び */
position:relative; /* サブメニュー表示位置の基準 */
height:2em;line-height:2em; /* メニュー高さ */
}
nav li a,nav li span{
color:#f19d9e;
display:inline-block;
padding:0 5px
}
nav li a:hover,nav li span:hover{
color:#fff;
transition:.6s
}
/* サブメニュー */
.sub-menu{
background:#f19d9e;
position:absolute;
width:200px; /* サブメニュー幅 */
z-index:30
}
.sub-menu li{
display:block; /* 横並びをリセット */
visibility:hidden; /* 隠す */
overflow:hidden; /* 隠す */
height:0; /* 隠す */
width:100%
}
.sub-menu li a{
color:#311818;
display:block
}
.sub-menu li a:hover{
background:#311818
}
nav li:hover .sub-menu li{
visibility:visible;
overflow:visible;
height:2em;line-height:2em; /* サブメニュー高さ */
transition: .5s
}
#open{display:none}
/*--------------------------------------------------------
ページ上部へのリンク、著作権表示
--------------------------------------------------------*/
#pagetop{
display:block;
position:fixed;
right:10px;bottom:-100px;
width:50px;height:50px;
z-index:50;
-webkit-transition:.5s;
transition:.5s
}
#pagetop:before,#pagetop:after{
background:#f19d9e;
position:absolute;
content:"";
width:28px;height:40px
}
#pagetop:before{
left:6px;
-ms-transform:rotate(-45deg);
-webkit-transform:rotate(-45deg);
transform:rotate(-45deg);
border-radius:50px 50px 0 0
}
#pagetop:after{
left:16px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
border-radius:50px 50px 0 0
}
.arrow {
border-left:3px solid #fff;
border-top:3px solid #fff;
position:absolute;
top:35%;left:36%;
height:12px;width:12px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
z-index:2
}
#fl a {
display:inline-block;
margin:5px 0
}
/*--------------------------------------------------------
見出し、枠、線
--------------------------------------------------------*/
h1{
font-size:2.0em;
font-weight:700;
letter-spacing:3px;
margin:0 0 10px 0;
text-align:center;
}
h2 {
font-size:1.3em;
font-weight:700;
margin:15px 0;
padding:0.2em 0;
position:relative;
border-bottom:2px solid #311818
}
h2:first-letter {
font-size:1.5em;
color:#f19d9e
}
h2::after {
background-color:#f19d9e;
position:absolute;
bottom:-2px;left:0;
content:'';
height:2px;width:20%;
z-index:2
}
h3 {
border-bottom:1px dashed #311818;
font-size:1.2em;
font-weight:400;
margin:20px 0
}
dt{
background:#f19d9e;
border-radius:5px;
display:inline-block;
padding:2px
}
dd{
margin:0 0 1em 1em;
padding:2px
}
em{
font-weight:700
}
input,textarea{
background:#fff;
border:1px dotted;
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:#ffee99; /* Ie9 */
background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f8cfd0), color-stop(0.49, #f8cfd0), color-stop(0.5, #ffee99), color-stop(1, #ffee99));
background:-webkit-linear-gradient(transparent 50%, #ffee99 0%);
background:linear-gradient(transparent 50%, #ffee99 0%)
}
.dcline{
border-left:5px solid #f19d9e;
margin:8px 0;
padding:3px
}
.textbox{
border:1px dotted #311818;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
color:#f19d9e;
font-size:1.5em;
font-weight:700;
letter-spacing:3px;
margin:2em 0;
text-align:right
}
.txt{
border-left:1px dotted;
margin:1em;
padding:0 0 0 1em
}
.frame{
background:#311818;
border-radius:3px;
padding:5px
}
/*--------------------------------------------------------
スマホ、タブレット用
横幅600pxで切り替え
--------------------------------------------------------*/
@media screen and (max-width: 600px){
body{
font-size:1.4em
}
header{
position:relative
}
#header-inner{
margin-bottom:0
text-align:center;
}
h1{
line-height:1;
min-height:40px;
padding-right:50px;

}
#index h1{
min-height:inherit;
padding-right:0
}
#contents{
margin:0 auto 50px auto;
padding:10px;
width:100%
}
#main{
padding:10px 20px
}
header,footer{
min-width:100%
}
#fl a{
color:#fff;
background:#f19d9e;
border-radius:5px;
padding:5px
}
#heart{
width:300px;height:200px
}
#heart:before,
#heart:after{
left:150px;top:20px;
width:150px;height:250px
}
#heart:after{
left:0
}
.indexbox{margin:20px;width:auto}
img{max-width:100%;height:auto} /* 画像の縮小表示 */
/*--------------------------------------------------------
スマホ、タブレット用メニュー
--------------------------------------------------------*/
/* メニュー */
#menu{
background:rgba(241,157,158,.8); /* メニューの背景色 */
display:none;
position:absolute;
left:0;
bottom:inherit;
text-align:left;
z-index:30
}
nav li{
display:block; /* 横並び解除 */
height:auto;line-height:inherit /* 高さリセット */
}
nav li a,nav li span{
color:#311818;
display:block;
position:relative;
padding:15px 20px /* リンクの余白 一列の高さはここで調節 */
}
nav li a:hover,nav li span:hover,.sub-menu li a:hover{
background:rgba(255,255,243,.6);
color:#311818
}
/* サブメニュー */
.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{
color:#5f2e2e
}
.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:20px;
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:#f19d9e;
border-radius:20px;
border:2px solid #fff;
display:inline-block;
margin:0 5px;
position:absolute;
height:40px;width:40px; /* 大きさ */
top:10px;right:10px /* 位置 */
}
#open-icon,#open-icon:before,#open-icon:after{
background:#311818; /* 線の色 */
}
#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)}
}