@charset "utf-8";
/*
.font-mb31 {
    font-family: "Midashi Go MB31 JIS2004";
}
*/
img {
    max-width: 100%;
    height: auto;
}

#service.level2 section{
    text-align: center;
}
#service.level2 h2{
    text-align: center;
    color: #3cb4af;
    font-weight: bold;
    font-size:2.5rem;
    padding: 0px 36px;
    margin: 0 auto 5rem;
    min-height: 24px;
    line-height: 24px;
    background-image: url(../img/lv2/icon_h2.png), url(../img/lv2/icon_h2.png);
    background-repeat: no-repeat, no-repeat;
    background-position: left, right;
}
#service .w720 .txtBox{
    width: 100%;
}

.lv2_detail{
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.lv2_detail li{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: #cacaca solid 1px;
    width: 48%;
    margin-bottom: 4%;
    text-align: left;
    position: relative;
    overflow: hidden;
}
.lv2_detail li var{
    font-size:8rem;
    font-style: normal;
    font-weight: bold;
    color: #f4d92f;
    position: absolute;
    top:-14px;
    left:-4px;
}
.lv2_detail_subtitle{
    color: #3cb4af;
    font-weight:bold;
    text-align: center;
    height: 7rem;
    line-height: 7rem;
    font-size: 1.6rem;
}
.lv2_detail li p{
    font-size: 1.4rem;
    padding: 0 1.4rem 1.4rem;
    line-height: 1.4;
}
.etc_company .txtBox p{
    text-align: left;
}
.etc_company_img{
    float: right;
}
aside.area-contact {
    display: table;
    margin: 50px auto 80px;
    position: relative;
    z-index: 2;
}
.btn-basic {
    display: table-cell;
    color: #fff;
    background-color: #f08737;
    border-radius: 10px;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
}
.fs26 {
    font-size: 26px;
    font-size: 2.6rem;
}
.btn-basic.w720 {
    max-width: 720px;
    display: block;
    margin: 0 auto;
    padding: 1.7em;
    line-height: 1.5;
}

/* アバター */
.bdr__box {
    border: 2px solid #3cb4af;
    border-radius: 15px;
    position: relative;
    padding: 20px 20px 15px 20px;
}
.bdr__box--dashed {
    border: 2px dashed #3cb4af;
    border-radius: 15px;
    position: relative;
    padding: 20px 20px 15px 20px;
    width: 47%;
    margin: 0 auto;
}
.bdr__box--ttl {
    color: #fff;
    background-color: #3cb4af;
    display: inline-block;
    width: 120px;
    border-radius: 1em;
    padding: 0 1em;
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
}
.avatar__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}
.bdr__box .avatar__item {
    width: calc(100% / 8);
    padding: 0 2px;
}
.bdr__box--dashed .avatar__item {
    width: calc(100% / 4);
    padding: 0 2px;
}

/* テキストリンク */
.txt__link {
    color: #e66464;
    font-weight: bold;
    transition: .3s;
}
.txt__link:hover {
    text-decoration: underline;
}

/* ボタンリンク */
.btn__wrap {
    width: 100%;
}
.btn__item a {
    color: #fff;
    background-color: #f08737;
    border-radius: 10px;
    padding: 1em;
    display: block;
}

/* ゲームイラスト */
.blue {
    color: #3cb4af;
    margin-right: .5em;
}
.bdr__box--gray {
    border: 1px solid #cacaca;
    text-align: center;
    padding: 30px 70px;
}
.bdr__box--mov {
    border: 1px solid #cacaca;
    text-align: center;
    padding: 30px;
}
.circle__list {
    font-size: 1.5rem;
    line-height: 1.8;
    text-align: left;
}
.circle__num--list {
    font-size: 1.5rem;
    line-height: 1.8;
}
.circle__num--list li:not(:last-child) {
    padding-bottom: 5em;
    position: relative;
}
.icon-arrow-down2::before {
    position: absolute;
    bottom: 0.8em;
    left: 0;
    right: 0;
    font-size: 3.2rem;
    color: #3cb4af;
}
.circle__num {
    background-color: #f5d237;
    color: #fff;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    display: inline-block;
    line-height: 40px;
    font-size: 2.4rem;
}
.circle__num--ttl {
    color: #3cb4af;
    font-size: 2.0rem;
    display: inline-block;
    line-height: 1;
}
/* movie */
.bdr__banner{
    width: 660px;
    position: relative;
    top: 20px;
}
.circle__num--rounded{
    color: #fff;
    background: #3cb4af;
    border-radius: 10px;
    padding: 15px 0;
    font-size: 2.0rem;
    display: inline-block;
    line-height: 1;
}
.circle__num--rounddb{
    padding: 5px 0;
    position: absolute;
    left: 0;
}
.circle__num--sizeb{
    width: 300px;
}
.circle__num--sizem{
    width: 130px;
}
.icon-close{
    position: relative;
    margin-left:52px;
    -webkit-font-smoothing:auto;
    -moz-osx-font-smoothing: auto;
}
.icon-close::before {
    position: absolute;
    font-size: 3.2rem;
    color: #cacaca;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    display: block;
    left: -42px;
    top: 10px;
}
.icon-close--m {
    margin-left:42px;
}
.icon-close--m::before {
    left:-38px;
}
.icon-close--mf {
    margin-left:174px;
}
.icon-close--mf::before {
    left:-36px;
}
.dl_area{
    margin-bottom: 90px;
}
.dt_ttl{
    padding-left: 10px;
    border-left: 10px solid #f5d237;
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
}
@media only screen and (max-width: 640px) {
    .avatar__box {
        flex-wrap: wrap;
    }
    .bdr__box .avatar__item,
    .bdr__box--dashed .avatar__item {
        width: calc(100% / 4);
        padding: 0;
        margin: 2vw 0;
    }
    .bdr__box--dashed {
        width: 93%;
    }
    .lv2_detail li {
        width: 82%;
        margin: 0 auto 4%;
    }
    .etc_company_img {
        float: none;
        margin: 0 30px 30px;
    }
    .bdr__box--gray {
        padding: 3rem;
    }
    /* movie */
    .bdr__banner {
        width: 100%;;
        position: relative;
        top: 20px;
    }
    .icon-close::before {
        display: block;
        left: 0;
        right: 0;
        top: -4.5rem;
    }
    .circle__num--sizem,
    .circle__num--sizeb{
        width: 100%;
        margin: 6rem auto !important;
        position: relative;
        display: block;
    }
    .icon-close--mf {
        margin-left: 0;
        top: auto;
    }
}
