@charset "utf-8";

/*cssのリセット*/
ol,ul,li{font-size: 100%;margin: 0;padding: 0;vertical-align: baseline;border: 0;outline: 0;background: transparent;}

:root{
    --text-color: #cdcdcd;
    --background-color: #343434;
    --main-contents-background-color: #edeaea;
    --main-contants-color: #343434;
    --side-contents-background-color: #555555;
    --side-contents-color: #cdcdcd;
}
body{
    font: 17px/1.6 "Hiragino Kaku Gothic Pro",Osaka,"メイリオ","ＭＳ Ｐゴシック","MS PGothic",Verdana,Arial,sans-serif;
    margin:0;
    color: var(--text-color);
    background-color: var(--background-color);
}
a{
    color: var(--text-color);
    text-decoration: none;
}
a:hover{
    opacity: 80%;
    text-decoration: none;
}
ol {
    counter-reset: section;
    margin-bottom: 1.0em;
}
li {
    list-style: none;
}
ol>li:before {
    content : counters(section, '-') '. ';
    counter-increment : section;
}
ol>li{
    margin-left: 1.0em;
}
footer {
    text-align: center;
}
footer a{
    font-weight: bold;
}
strong{
    background: linear-gradient(transparent 70%, rgba(248, 138, 86, 0.56) 80%);
    /*text-shadow: 1px 1px 0 rgba(0,0,0,.2);*/
    font-weight: bold;
    padding: 0 5px;
}
pre{
    font-family: Menlo, Consolas, 'Courier New', Courier, Monaco, monospace;
    font-size: smaller;
}
code{
    font-family: Menlo, Consolas, 'Courier New', Courier, Monaco, monospace;
}

.acd-check{
    display: none;
}
.acd-label{
    text-align: center;
    background: #0068b7;
    color: #fff;
    display: block;
    margin-bottom: 1px;
    padding: 10px;
    position: relative;
}
.acd-label:hover{
    opacity: 0.7;
}
.acd-content{
    border: 1px solid #333;
    display: none;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
    display: block;
    height: 100%;
    opacity: 1;
    padding: 10px;
    visibility: visible;
}

.container{
    max-width: 1300px;
    margin: auto;
}
a.title h1 span.sub{
    font-size: 14px;
    display: block;
    padding-left: 5px;
}
a.title h1:hover{
    opacity: 80%;
}

footer a p:hover{
    opacity: 80%;
}

.top {
    text-align: center;
}
.top img{
    width: 60%;
}

.main-wrapper {
    display: flex;
}
.container .main-wrapper .main-col{
    background-color: var(--main-contents-background-color);
    min-height: 1000px;
    display: block;
    width: 75%;
}
.container .main-wrapper .side-col{
    background-color: var(--side-contents-background-color);
    min-height: 1000px;
    display: block;
    width: 25%;
    color: var(--side-contents-color);
}
.main-contents{
    margin: 1.5em;
    color: var(--main-contants-color);
}

.main-contents a{
    font-weight: bold;
    border-bottom: 1px solid var(--main-contants-color);
    color: var(--main-contants-color);
}
.main-contents h2{
    font-size: 30px;
    font-weight: bold;
    border-bottom: 5px solid var(--main-contants-color);
}
.main-contents h3{
    font-size: 24px;
    font-weight: bold;
    background-color: var(--background-color);
    border-radius: 10px;
    padding: 0.5em 1.0em;
}
.main-contents h3 a{
    color: var(--text-color);
}
.main-contents img{
    width: 85%
}

.main-contents ul{
    border: 2px solid var(--main-contants-color);
    border-radius: 10px;
    padding: 1.5em;
}
.main-contents ul li:before{
    content: '▷';
    padding-right: 1.0em;
}

.main-contents ol li {
    list-style-type: none;
    counter-increment: cnt;
    margin-left: 3.0em;
    margin-bottom: 1.0em;
}

.main-contents ol li::before {
    content: "[" counter(cnt) "] ";
    margin-left: -1.7em;
}

.main-contents .page{
    display: flex;
    text-align: center;
}
.main-contents .page a{
    border: 1px solid var(--main-contants-color);
    padding: 1.0em 1.5em;
    margin: 1.0em 1.0em;
    width: 50%;
}

.side-contents{
    margin: 1.0em;
}
.side-contents h2{
    font-weight: bold;
}


/* 1200以下のPCやタブレット */
@media screen and (max-width: 1200px){
    body{
        font-size: 16px;
    }
    .main-wrapper{
        display: unset;
    }
    a.title h1{
        margin: 0.5em;
    }
    .container .main-wrapper .main-col{
        display: block;
        width: 100%;
        min-height: 500px;
    }
    .container .main-wrapper .side-col{
        width: 100%;
        min-height: 500px;
        padding: 1.0em 0;
    }
    .main-contents{
        padding-top: 1.5em;
    }
    .main-contents .page a{
        margin: 0.5em 1.0em;
    }
}
/* Tablet */
@media screen and (max-width: 767px){
    body{
        font-size: 16px;
    }
    .main-wrapper{
        display: unset;
    }
    a.title h1{
        margin: 0.5em;
    }
    .container .main-wrapper .main-col{
        display: block;
        width: 100%;
        min-height: 500px;
    }
    .container .main-wrapper .side-col{
        width: 100%;
        min-height: 500px;
        padding: 1.0em 0;
    }
    .main-contents{
        padding-top: 1.5em;
    }
    .main-contents .page a{
        margin: 0.5em 1.0em;
    }
    .main-contents img{
        width: 100%;
    }
    .main-contents span.br{
        display: block;
    }

}
/* SmartPhone */
@media screen and (max-width: 479px){
    body{
        font-size: 14px;
    }
    a.title h1{
        font-size: 20px;
        margin: 0.5em;
    }
    .title span.br{
        display: inline-block;
    }
    .top img{
        width: 90%;
    }
    .main-wrapper{
        display: unset;
    }
    .container .main-wrapper .main-col{
        display: block;
        width: 100%;
        min-height: 500px;
    }
    .container .main-wrapper .side-col{
        width: 100%;
        min-height: 500px;
        padding: 1.0em 0;
    }
    .main-contents{
        padding-top: 1.5em;
    }
    .main-contents .page a{
        padding: 0.5em 0.5em;
        margin: 1.0em 0.2em;
        width: 50%;
        font-size: smaller;
    }
    .main-contents h2{
        font-size: 20px;
    }
    .main-contents h3{
        font-size: 18px;
    }
}