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{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;box-sizing:border-box}
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}
.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}
/* この上はいじらないほうがいいです */
/* これ以降も、いじらないほうがいいものは一行でまとめています */

/* ===================================
背景,文字,リンク設定
=================================== */
html{
font-size:62.5%
}
body{
background:#07004D; /* 背景 */
color:#F2F2F2; /* 文字色 */
font-size:1.3em;/* 文字の大きさ */
font-family:'Segoe UI','游ゴシック Medium','Yu Gothic Medium','游ゴシック体',YuGothic,'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
letter-spacing:.1em;
line-height:1.5;
text-align:center
}
#menu,h1,h2{
font-family:'Sniglet',cursive,Georgia,'Segoe UI','游ゴシック Medium','Yu Gothic Medium','游ゴシック体',YuGothic,'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif
}
/*  リンク
------------------------------ */
a{
color:inherit
}
aside a{
color:#FF00BA
}
#rightcolumn a:not(.bg-none){
border-bottom:1px dashed #F2F2F2;
color:#FF51CD;
display:inline-block;
padding:.1em .3em;
position:relative;
transition:.6s
}
#rightcolumn a:not(.bg-none):hover{
background:rgba(254,141,146,.8);
border-bottom:1px solid transparent;
border-radius:5px;
color:#F2F2F2
}

/* ===================================
基本
=================================== */

#wrapper{
margin:0 auto;
padding:20px 0;
text-align:left;
height:auto;
min-height:100%;
width:1010px;/* #contents-wrapのwidth+100 */
}
header{
background:url(image2/back03.png) no-repeat 100% 0;
padding:10px 0;
min-height:70px;
text-align:right
}
#column{
position:relative
}
#contents{
background:#6C00B9;
margin:0 auto;
height:432px /* 108の倍数にすると丁度 */
}
#contents,.u01,.s01{
width:756px /* 108の倍数にすると丁度 */
}
#contents-wrap{
position:relative;
top:0;left:100px;
width:910px;/* #contentsのwidth+154 */
}
#rightcolumn{
line-height:1.5;
margin:0 0 0 200px;
padding:10px 20px;
height:100%;
overflow:auto;
-webkit-overflow-scrolling:touch
}
#leftcolumn{ 
position:absolute;
background:url(image2/back01.png) no-repeat;
text-align:center;
top:100px;
width:375px;height:375px
}
#leftcolumn-inner{
margin:60px auto 20px;
padding:0;
height:250px;width:250px;
overflow:auto;
-webkit-overflow-scrolling:touch
}
footer{
padding:30px 0 0;
text-align:center
}

/* ===================================
index
=================================== */

#index-wrapper{
padding:20px 0;
margin:0 auto;
width:586px /* #indexcontentsのwidth+154 */
}
#indexcontents{
background:#6C00B9;
text-align:center;
margin:0 auto;
padding:10px
}
#indexcontents,.u02,.s02{
width:432px /* 108の倍数にすると丁度 */
}

/* ===================================
メニュー
=================================== */

#menu{
display:block;
margin:5px 0;
text-align:center
}
nav li a,nav li span{
color:#FFC72C;/* メニューの文字色 */
display:block;
font-weight:700;
font-size:1.3em;
letter-spacing:.1em;
padding:3px 0;/* 一列の高さはここで調節 */
position:relative
}
nav li a:hover,nav li span:hover{
color:#FF51CD;
transition:.6s
}
.sub-menu{
display:none;
overflow:hidden
}
.sub-menu li a{
color:#FFC72C
}
/*  メニューの「>」
------------------------------ */
nav li span:after{
border-top:1px solid #F2F2F2; /* 色 */
border-right:1px solid #F2F2F2; /* 色 */
content:"";
display:block;
margin-top:-5px;
position:absolute;
height:5px;width:5px;
top:50%;right:10px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
transition:.5s
}
nav li span.open:after{
-ms-transform:rotate(135deg);
-webkit-transform:rotate(135deg);
transform:rotate(135deg)
}
/*  メニューを開くボタン非表示
------------------------------ */
#open{display:none}

/* ===================================
ページ上部へのリンク
=================================== */

#pagetop-pc,#pagetop-sm{
bottom:20px;right:20px
}
#pagetop-pc:before,#pagetop-pc:after,#pagetop-sm:before,#pagetop-sm:after{
background:#FF51CD
}
.arrow{
border-left:3px solid #F2F2F2;
border-top:3px solid #F2F2F2;
top:40%;left:38%;
height:12px;width:12px;
}
/*  めんどくさいのまとめておきます
------------------------------ */
#pagetop-pc,#pagetop-sm{display:block;padding-top:5px;width:50px;height:50px;text-align:center;position:fixed}
#pagetop-pc:before,#pagetop-pc:after,#pagetop-sm:before,#pagetop-sm:after{position:absolute;content:"";width:28px;height:40px}
#pagetop-pc:before,#pagetop-sm:before{left:6px;-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:50px 50px 0 0}
#pagetop-pc:after,#pagetop-sm:after{left:16px;-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:50px 50px 0 0}
.arrow{position:absolute;-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);box-sizing:border-box;z-index:2}
#pagetop-sm{display:none;bottom:-80px}

/* ===================================
見出し、枠、線
=================================== */

h1{
font-size:2.2em
}
h2{
background:url(image2/back02.gif);
border-radius:5px;
font-size:1.2em;
margin:20px 0
}
h3{
background:url(image2/i01.gif) no-repeat;
font-size:1.2em;
border-bottom:1px dashed;
font-weight:400;
line-height:18px;
margin:20px 0;
padding:0 17px
}
dt{
background:#0043FF;
border-radius:5px;
color:#F2F2F2;
clear:both;
font-weight:700;
float:left;
margin:0 0 5px;
padding:0 5px;
width:10em
}
dd{
border-bottom:dotted 1px #999;
margin:0 0 5px 12em
}
em{
background:#FF00BA;
background:-webkit-linear-gradient(rgba(255,0,186,0) 80%, #FF00BA 0%);
background:linear-gradient(rgba(255,0,186,0) 80%, #FF00BA 0%);
font-style:normal;
font-weight:700
}
input,textarea{
background:#07004D;
border:1px solid;
border-radius:5px;
margin:3px 0;
width:300px
}
textarea{
height:50px
}
hr{
border:0;
border-top:1px solid #ccc;
display:block;
margin:1em 0;
padding:0;
height:1px
}
.marker{
background:#C800BA;
background:-webkit-linear-gradient(rgba(200,0,186,0) 50%, #C800BA 0%);
background:linear-gradient(rgba(200,0,186,0) 50%, #C800BA 0%);
padding:1px 5px
}
.dcline{
border-left:5px solid #3C63CC;
margin:5px 0;
padding:3px
}
.textbox{
border:1px solid;
margin:10px 0;
padding:3px;
text-align:center
}
.title{
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right
}
.title:first-letter{
color:#FF51CD;
font-size:1.6em
}
.txt{
border-left:1px dotted;
color:#209ED8;
margin:1em;
padding:0 0 0 1em
}
.frame{
background:#F2F2F2;
border-radius:3px;
box-shadow:4px 4px 4px #07004D;
padding:6px
}

/* ===================================
枠
=================================== */

.u01,.u02{background:url(image2/f-ue.gif) repeat-x;height:76px;margin:0 77px 0 76px}
.s01,.s02{background:url(image2/f-sita.gif) repeat-x;height:76px;margin:0 77px 0 76px}
.box-top{background-image:url(image2/f-kado1.gif),url(image2/f-kado2.gif);background-position:top left,top right;background-repeat:no-repeat,no-repeat;height:76px}
.box-center{background-image:url(image2/f-migi.gif),url(image2/f-hidari.gif);background-position:top right,top left;background-repeat:repeat-y,repeat-y}
.box-bottom{background-image:url(image2/f-kado3.gif),url(image2/f-kado4.gif);background-position:top left,top right;background-repeat:no-repeat,no-repeat;height:76px}

/* ===================================
横幅1010pxで切り替え
1010px = #wrapperのwidth
=================================== */

@media screen and (max-width: 1010px){
#wrapper{width:794px}
#contents,.u01,.s01{width:540px}
#contents-wrap{width:694px}

dt{float:none;clear:none}
dd{margin-left:20px}
input,textarea{width:90%}
img{max-width:100%;height:auto} /* 画像の縮小表示 */
}

/* ===================================
スマホ、タブレット用
横幅768pxで切り替え
=================================== */

@media screen and (max-width: 768px){
body{
background:#07004D url(image2/back01.png) 50% 50% no-repeat fixed;
font-size:1.4em
}
#wrapper,#index-wrapper{
padding:20px
}
header{
background-position:0 100%;
text-align:left
}
#contents,#indexcontents{
background:rgba(108,0,185,.6);
color:#F2F2F2
}
#rightcolumn{
padding:10px 0
}
#rightcolumn a:not(.bg-none){
background:#FF51CD;
border-bottom:1px solid transparent;
border-radius:5px;
color:#F2F2F2;
margin:5px 5px 5px 0
}
h1{
font-size:1.5em
}
/*  リセット
------------------------------ */
#wrapper,#index-wrapper{position:relative;min-height:inherit;width:auto}
#column{position:static}
#contents,#indexcontents{height:auto;width:auto}
#contents-wrap{left:0;width:auto}
#rightcolumn{margin:0;height:auto}
#leftcolumn-inner{margin:0 auto;height:100%}
h1:not(.index){min-height:40px;margin-right:60px}/* メニューを開くボタン分 */
.box-top,.box-center,.box-bottom,.u01,.u02,.s01,.s02{background:none;height:auto;width:auto}
#pagetop-pc{display:none}
#pagetop-sm{display:block}

/* ===================================
スマホ、タブレット用メニュー
=================================== */

/*  スライド
------------------------------ */
#leftcolumn{
background:rgba(7,0,77,.9);
display:none;
padding:70px 20px 20px; /* ボタン分上を空ける */
position:fixed;
line-height:2;
text-align:center;
height:100%;width:300px;
top:0;right:0;
z-index:1000
}
#side-bg{
background:rgba(51,51,51,.5)/* 周りの背景色 */
}
/*  メニュー
------------------------------ */
nav li{
margin-top:8px
}
nav li a,nav li span{
background:#6C00B9;
border-radius:5px;
padding:5px 0 /* メニュー高さはここで調整 */
}
/* サブメニューを一列にするなら削除 */
.sub-menu li{
display:inline-block;
width:50%
}
.sub-menu li a{
background:#2F009C;
color:#F2F2F2;
}

/*  メニューを開くボタン
------------------------------ */


}
@media screen and (max-width: 400px){
body{background-size:contain}
}