@charset "UTF-8";
/* フォント */
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Mincho");
@import url("https://fonts.googleapis.com/css?family=Oswald:500");

*{
    box-sizing: border-box;
}
::selection {
    background: #7a41a8;
    color: #fff;
}
img{
    max-width: 100%;
    height: auto;
}

.SpNonePcBlock{
    display: block;
}
.PcNoneSpBlock{
    display: none;
}
.SpNonePcInline{
    display: inline;
}
.PcNoneSpInline{
    display: none;
}
@media screen and (max-width: 767px) {
    .SpNonePcBlock{
        display: none;
    }
    .PcNoneSpBlock{
        display: block;
    }
    .SpNonePcInline{
        display: none;
    }
    .PcNoneSpInline{
        display: inline;
    }
}

.title-01{
    margin: 60px 0 10px;
    font-size: 1.6rem;
    font-family: 'Sawarabi Mincho';
    font-weight: normal;
}
@media screen and (max-width: 767px) {
    .title-01{
        text-align: center;
        margin-top: 80px;
    }
}
.title-02{
    text-align: center;
    margin: 1em 0 .3em;
}
@media screen and (max-width: 767px) {
    .title-02{
        margin: .8em 0 .2em;
    }
    .title-02 img{
        zoom: .8;
    }
}
.button-01{
    display: inline-block;
    text-decoration: none;
    text-align: center;
    color: #231815;
    font-weight: bold;
    padding: .3em 1.5em;
    background: url("../images/button-bg-01.jpg") center/cover no-repeat;
}
.button--block{
    display: block;
}
.button--padding-m{
    padding-top: .5em;
    padding-bottom: .5em;
}

/*
dlで作ったtable
それぞれの行の下に黒いボーダーが入っている
*/
.table-01{
    border-bottom: 1px solid #000;
    display: flex;
    flex-flow: row wrap;

    /* ie 10以下 */
    overflow: hidden\9;
}
.table-01 dt,
.table-01 dd{
    padding: .7em 0;
    display: flex;
    align-items: center;
    border-top: 1px solid #000;

    /* ie 10以下 */
    float: left\9;
}
.table-01 dt:nth-child(1),
.table-01 dd:nth-child(2){
    border-top: 0;
}
.table-01 dt{
    max-width: 25%;
    flex: 0 1 25%;
    padding-right: 1em;
    font-size: .9rem;

    /* ie 10以下 */
    clear: both\9;
    width: 25% \9;
}
.table-01 dd{
    flex: 0 1 75%;
    margin-left: 0;

    /* ie 10以下 */
    width: 75% \9;
}
@media screen and (max-width: 767px) {
    .table-01,
    .table-01 dt,
    .table-01 dd{
        display: block;
    }
    .table-01 dt{
        border-bottom: none;
        padding: .7em .3em .1em;
        max-width: 100%;
    }
    .table-01 dd{
        padding:  .1em .3em .7em;
    }
}

/*
dlで作ったtable
table-01とにてるがすこしゆったりした感じになっている
*/
.table-02{
    display: flex;
    flex-flow: row wrap;

    /* ie 10以下 */
    display: block\9;    
    overflow: hidden\9;
}
.table-02 dt,
.table-02 dd{
    padding: 30px 0;
    border-top: 1px solid #000;
    line-height: 1.5;

    /* ie 10以下 */
    display: block\9;
    float: left\9;
}
.table-02 dt:nth-of-type(1),
.table-02 dd:nth-of-type(1){
    border-top: none;
}
.table-02 dt{
    max-width: 25%;
    flex: 0 1 25%;
    padding-right: 1em;
    font-size: 1.2rem;
    font-weight: bold;

    /* ie 10以下 */
    width: 25% \9;
    clear: both\9;
}
.table-02 dd{
    flex: 0 1 75%;
    margin-left: 0;

    /* ie 10以下 */
    width: 75% \9;
}
@media screen and (max-width: 767px) {
    .table-02,
    .table-02 dt,
    .table-02 dd{
        display: block;
    }
    .table-02 dt{
        border-top: none;
        padding: .7em .3em .1em;
        max-width: 100%;
    }
    .table-02 dd{
        border-top: none;
        border-bottom: 1px solid #000;
        padding:  .1em .3em .7em;
    }
    .table-02 dd:nth-last-of-type(1){
        border-bottom: none;
    }
}

.wrapper{
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
}
.header{
    background: url("../images/header-bg.png") center top/cover no-repeat;
    overflow: hidden;
    padding-left: 50px;
    padding-right: 50px;
}
.header .site-logo{
    text-align: center;
    margin: 40px 0;
}
.header .nav{
    margin: 20px 0;
}
.header .nav ul{
    list-style: none;
    display: flex;
    justify-content: space-around;
    padding-left: 0;
    border-top: 1px solid #fff;
    padding: 1em 0;

    /* ie */
    display: block\9;
    text-align: center\9;
}
.header .nav ul li{
    min-height: 25px;
    padding-left: 32px;
    line-height: 25px;
    margin: 0 1em;
    background: url("../images/marker-01.png") left center/25px no-repeat;
    font-size: .95rem;

    /* ie */
    display: inline-block\9;
}
.header .nav a{
    text-decoration: none;
    color: #fff;
}
.header .menu{
    cursor: pointer;
}
.header .menu img{
    vertical-align: bottom;
}
@media screen and (max-width: 767px) {
    .header{
        background: url("../images/header-bg-sp.png") right top/cover no-repeat;
        padding: 6px 20px 2px 8px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .header .site-logo{
        text-align: left;
        margin: 0;
    }
    .header .nav{
        position: fixed;
        top: 0;
        right: 0;
        height: 100%;
        background: #1d0037;
        opacity: .9;
        margin: 0;
        padding: 60px 40px;
        transform: translateX(100%);
        transition: transform 400ms ease;
        z-index: 100;
    }
    .header .nav-active {
        transform: translateX(0);
    }
    .header .nav ul{
        display: block;
        margin: 0;
        padding: 0;
        border: none;
    }
    .header .nav ul li{
        margin: 1.5em 0;
        font-size: 1.1em;
    }
    .header .nav .menu-hide{
        position: absolute;
        top: 25px;
        right: 25px;
    }
    .header .nav .menu-hide .bar{
        display: block;
        width: 25px;
        height: 2px;
        background: #fff;
        margin: 6px 0;
    }
    .header .nav .menu-hide .bar:nth-child(1){
        transform: translateY(4px) rotate(45deg);
    }
    .header .nav .menu-hide .bar:nth-child(2){
        transform: translateY(-4px) rotate(-45deg);
    }
}
.footer{
    padding-top: 30px;
    border-top: 1px solid #000;
}
.footer .site-logo{
    text-align: center;
    margin: 0;
}
.footer .text{
    text-align: center;
    margin: 5px 0;
    font-size: .8rem;
}
.footer .copyright{
    text-align: center;
    font-size: .65rem;
    margin: 30px 0;
}
.footer .copyright .inner{
    border-top: 1px solid #000;
    padding: .5em 2em;
}