body {
    background-color: #f3f2f2
}

.sectitle_style01 {
    position: relative;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 0 5px 22px
}

.sectitle_style01::before,.sectitle_style01::after {
    content: " ";
    height: 2px;
    left: 0;
    bottom: 0;
    position: absolute
}

.sectitle_style01::before {
    width: 100%;
    background-color: #d0d3c3
}

.sectitle_style01::after {
    width: 15%;
    background-color: #21ade5
}

#maintitle_area {
    background-color: #f9fcfe;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding: 0 5% 80px
}

#maintitle_area .title_style02 {
    padding-top: 250px
}

#maintitle_area .title_style02::after {
    height: 240px
}

.sec_contents1040box {
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,.1);
    box-shadow: 0 0 10px rgba(0,0,0,.1);
    border-radius: 18px;
    padding: 70px 4% 120px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 1040px;
    width: 94%;
    margin: 0 auto
}

.sec_table_style01 {
    width: 100%;
    position: relative;
    border-spacing: 2px;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: .035em
}

.sec_table_style01 tr th,.sec_table_style01 tr td {
    padding: 20px 1.25em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: middle
}

.sec_table_style01 tr th {
    color: #000;
    background-color: #f6fbff;
    width: 30%;
    font-weight: 500;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9
}

.sec_table_style01 tr th>i {
    font-size: .7em;
    letter-spacing: 0
}

.sec_table_style01 tr th .mandatory {
    display: inline-block;
    background-color: #4088cc;
    font-size: 1.275rem;
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
    padding: 7px .85em;
    margin-left: .5em;
    border-radius: 6px
}

.sec_table_style01 tr td {
    width: 70%;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9
}

.shop_info {
    text-align: center;
    background-repeat: repeat-x;
    background-position: 0 0;
    background-image: url("../images/common/shop_info_bg.jpg");
    background-color: #ebeaf3;
    padding: 120px 5% 80px
}

.shop_info h3 {
    font-family: "M PLUS Rounded 1c",YakuHanJP,"Noto Sans Japanese","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Osaka,sans-serif;
    font-size: 3.2rem;
    letter-spacing: .045em;
    line-height: 1.4;
    color: #0077c2;
    margin-bottom: 80px
}

.shop_info h3>i {
    color: #21ade5
}

@media screen and (max-width: 1200px)and (min-width: 641px) {
    #maintitle_area {
        background-size:180% auto
    }
}

@media screen and (max-width: 640px) {
    .sectitle_style01 {
        font-size:1.8rem;
        padding: 0 0 18px
    }

    .sectitle_style01::after {
        width: 22%
    }

    #maintitle_area {
        padding: 0 2.5% 50px;
        background-size: 180% auto
    }

    #maintitle_area .title_style02 {
        padding-top: 150px
    }

    #maintitle_area .title_style02::after {
        height: 140px
    }

    .sec_contents1040box {
        border-radius: 8px;
        padding: 40px 6% 80px
    }

    .sec_table_style01 {
        font-size: 1.45rem;
        display: block
    }

    .sec_table_style01 tr th,.sec_table_style01 tr td {
        padding: 15px 1.25em;
        display: block;
        width: 100% !important
    }

    .sec_table_style01 tr th .mandatory {
        font-size: 1.15rem;
        padding: 7px .5em
    }

    .shop_info {
        background-size: 15px auto;
        padding: 20vw 5% 40px
    }

    .shop_info h3 {
        font-size: 2.5rem;
        margin-bottom: 10px
    }
}
