@charset "UTF-8";


/*===============================================
●共通
===============================================*/





/*===============================================
●画面の横幅が813px以上(タブレット・PC)
===============================================*/
@media screen and (min-width: 813px) {

    /* メイン画像 */
    #sub-mainImage {
        background: url(../images/recruit/main_img.jpg) bottom center no-repeat;
        background-size: cover;
    }


    /* --- 採用情報一覧 --- */

    /* box01 */
    #box01 {
        width: 100%;
        margin: 60px auto 0 auto;
        text-align: center;
    }

    #box01 > h2 {
        width: 145px;
        margin: 0 auto;
    }

    #box01 > h2 > img {
        width: 145px;
    }

    #box01 > p:nth-of-type(1) {
        margin: 40px auto 0 auto;
        font-size: 30px;
        line-height: 160%;
    }

    #box01 > p:nth-of-type(2) {
        margin: 40px 0 0 0;
        padding: 0 40px;
        text-align: left;
    }

    #box01 > img:nth-of-type(1) {
        display: block;
        margin: 50px auto 0 auto;
        width: 100%;
    }


    /* box02 */
    #box02 {
        width: 100%;
        margin: 60px auto 0 auto;
        text-align: center;
    }

    #box02 > h2 {
        width: 217px;
        margin: 0 auto;
    }

    #box02 > h2 > img {
        width: 217px;
    }

    #box02 > p:nth-of-type(1) {
        margin: 40px auto 0 auto;
        font-size: 30px;
        line-height: 160%;
    }

    #box02 > p:nth-of-type(2) {
        margin: 40px 0 0 0;
        padding: 0 40px;
        text-align: left;
    }


    /* box03 */
    #box03 {
        width: 100%;
        margin: 100px auto 120px auto;
        text-align: center;
    }

    #box03 > h2 {
        width: 129px;
        margin: 0 auto;
    }

    #box03 > h2 > img {
        width: 129px;
    }

    #box03 > ul {
        width: 100%;
        margin: 30px auto 0 auto;
    }

    #box03 > ul > li {
        position: relative;
        width: 31%;
        height: 90px;
        margin: 0 auto 30px auto;
        text-align: center;
        background-color: #ffffff;
        border: #cccccc 1px solid;
    }

    #box03 > ul > li:hover {
        background-color: #f9f9f9;
    }
    #box03 > ul > li.link-dummy:hover{
        background-color: transparent;
    }

    #box03 > ul > li > a {
        display: block;
        height: 90px;
        padding: 22px 0 0 0;
        font-size: 20px;
    }

    #box03 > ul > li:after {
        content: ' ';
        height: 0;
        position: absolute;
        width: 0;
        border: 10px solid transparent;
        border-top-color: #333;
        bottom: 6px;
        left: 0;
        right: 0;
        margin: auto;
    }


    /* box04 */
    .box04 {
        width: 100%;
        margin: 100px auto 0 auto;
        padding: 0 40px;
    }

    .box04 > h3 {
        text-align: left;
    }

    .box04 > ul {
        width: 100%;
        margin: 30px auto 100px auto;
        text-align: left;
        border-top: #eeeeee 1px solid;
    }

    .box04 > ul > li > a {
        display: table;
        width: 100%;
        padding: 20px 0 20px 20px;
        border-bottom: #eeeeee 1px solid;
        background: url(../images/recruit/arrow01.png) top 50% right 30px no-repeat;
        background-size: 16px;
    }

    .box04 > ul > li > a > p:nth-of-type(1) {
        width: 360px;
    }

    .box04 > ul > li > a > p:nth-of-type(1) > span:nth-of-type(1) {
        display: inline-block;
        width: 230px;
        padding: 6px 0 5px 0;
        font-size: 14px;
        color: #ffffff;
        text-align: center;
        vertical-align: top;
        line-height: 100%;
    }

    .box04 > ul > li > a > p:nth-of-type(1) > span:nth-of-type(2) {
        display: inline-block;
        width: 130px;
        padding: 0 0 0 40px;
        vertical-align: top;
    }

    .box04 > ul > li > a > p:nth-of-type(2) {
        display: table-cell;
        width: 100%;
        padding: 0 70px 0 0;
    }

    .box04 p.no-info {
        width: 100%;
        margin: 30px auto 100px auto;
        padding: 20px 0 20px 20px;
        text-align: left;
        border-bottom: #eeeeee 1px solid;
        border-top: #eeeeee 1px solid;
    }



    /* --- 採用情報詳細 --- */

    /* recruit-detail */
    #recruit-detail {
        width: 100%;
        margin: 60px auto 0 auto;
        padding: 0 40px;
        text-align: center;
    }

    #recruit-detail > p:nth-of-type(1) {
        margin: 0 auto;
        text-align: left;
    }

    #recruit-detail > p:nth-of-type(2) {
        margin: 30px auto 0 auto;
        padding: 0 0 25px 0;
        text-align: left;
        font-size: 30px;
        line-height: 160%;
        border-bottom: #eeeeee 1px solid;
    }

    #recruit-detail > table {
        width: 100%;
        text-align: left;
        margin: 40px auto 0 auto;
        border-top: #cccccc 1px solid;
    }

    #recruit-detail > table th {
        width: 250px;
        padding: 20px;
        background-color: #ebebeb;
        border-bottom: #cccccc 1px solid;
        border-left: #cccccc 1px solid;
    }

    #recruit-detail > table td {
        padding: 20px;
        border-bottom: #cccccc 1px solid;
        border-left: #cccccc 1px solid;
        border-right: #cccccc 1px solid;
    }

    #recruit-detail-form {
        margin: 100px auto 0 auto;
        text-align: center;
    }

    #recruit-detail-form > h2 {
        width: 234px;
        margin: 0 auto;
    }

    #recruit-detail-form > h2 > img {
        width: 234px;
    }

    #recruit-detail-form > p {
        margin: 40px auto 40px auto;
    }


}


/*===============================================
●画面の横幅が812px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 812px) {

    /* --- 採用情報一覧 --- */

    /* box01 */
    #box01 {
        width: 100%;
        margin: 30px auto 60px auto;
        text-align:left;
    }

    #box01 > h2 {
        width: 94px;
        margin: 0 auto;
    }

    #box01 > h2 > img {
        width: 94px;
    }

    #box01 > p:nth-of-type(1) {
        width: 94%;
        margin: 20px auto 0 auto;
        font-size: 20px;
        line-height: 160%;
        text-align: center;
    }

    #box01 > p:nth-of-type(2) {
        width: 94%;
        margin: 20px auto 0 auto;
        text-align: left;
    }

    #box01 > img:nth-of-type(2) {
        display: block;
        margin: 30px auto 0 auto;
        width: 100%;
    }


    /* box02 */
    #box02 {
        width: 94%;
        margin: 65px auto 0 auto;
        text-align: center;
    }

    #box02 > h2 {
        width: 142px;
        margin: 0 auto;
    }

    #box02 > h2 > img {
        width: 142px;
    }

    #box02 > p:nth-of-type(1) {
        margin: 20px auto 0 auto;
        font-size: 20px;
        line-height: 160%;
    }

    #box02 > p:nth-of-type(2) {
        margin: 20px 0 0 0;
        text-align: left;
    }


    /* box03 */
    #box03 {
        width: 94%;
        margin: 65px auto 0 auto;
        text-align: center;
    }

    #box03 > h2 {
        width: 85px;
        margin: 0 auto;
    }

    #box03 > h2 > img {
        width: 85px;
    }

    #box03 > ul {
        width: 100%;
        margin: 20px auto 0 auto;
    }

    #box03 > ul > li {
        position: relative;
        width: 48%;
        margin: 0 auto 2% auto;
        background-color: #ffffff;
        border: #cccccc 1px solid;
    }

    #box03 > ul > li > a {
        display: block;
        padding: 10px 0 22px 0;
        font-size: 14px;
        text-align: center;
        line-height: 160%;
    }

    #box03 > ul > li.link-kidsplaza > a {
        padding: 20px 0 22px 0;
    }

    #box03 > ul > li:after {
        content: ' ';
        height: 0;
        position: absolute;
        width: 0;
        border: 8px solid transparent;
        border-top-color: #333;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }


    /* box04 */
    .box04 {
        width: 94%;
        margin: 60px auto 0 auto;
    }

    .box04:nth-of-type(1) {
        margin: 50px auto 0 auto;
    }

    #r-mirai {
        margin-bottom: 60px;
    }

    .box04 > h3 {
        text-align: left;
    }

    .box04 > ul {
        width: 100%;
        margin: 15px auto 0 auto;
        text-align: left;
        border-top: #eeeeee 1px solid;
    }

    .box04 > ul > li > a {
        display: block;
        width: 100%;
        padding: 15px 0;
        border-bottom: #eeeeee 1px solid;
        background: url(../images/topics/arrow01.png) top 50% right 0 no-repeat;
        background-size: 16px;
    }

    .box04 > ul > li > a > p:nth-of-type(1) {
        width: 100%;
    }

    .box04 > ul > li > a > p:nth-of-type(1) > span:nth-of-type(1) {
        display: inline-block;
        width: 160px;
        padding: 6px 0 5px 0;
        font-size: 10px;
        font-weight: bold;
        color: #ffffff;
        text-align: center;
        vertical-align: top;
        line-height: 100%;
    }

    .box04 > ul > li > a > p:nth-of-type(1) > span:nth-of-type(2) {
        display: inline-block;
        width: 130px;
        padding: 0 0 0 20px;
        vertical-align: top;
    }

    .box04 > ul > li > a > p:nth-of-type(2) {
        width: 100%;
        margin: 10px 0 0 0;
        padding: 0 30px 0 0;
    }

    .box04 p.no-info {
        width: 100%;
        margin: 15px auto 0 auto;
        padding: 15px 0;
        text-align: left;
        border-bottom: #eeeeee 1px solid;
        border-top: #eeeeee 1px solid;
    }


    /* --- 採用情報詳細 --- */

    /* recruit-detail */
    #recruit-detail {
        width: 94%;
        margin: 30px auto 0 auto;
        text-align: center;
    }

    #recruit-detail > p:nth-of-type(1) {
        margin: 0 auto;
        text-align: left;
    }

    #recruit-detail > p:nth-of-type(2) {
        margin: 30px auto 0 auto;
        padding: 0 0 15px 0;
        text-align: left;
        font-size: 20px;
        line-height: 160%;
        border-bottom: #eeeeee 1px solid;
    }

    #recruit-detail > table {
        width: 100%;
        margin: 20px auto 0 auto;
        text-align: left;
    }

    #recruit-detail > table th {
        display: block;
        width: 100%;
        padding: 13px;
        background-color: #ebebeb;
    }

    #recruit-detail > table td {
        display: block;
        padding: 15px 15px 13px 15px;
    }

    #recruit-detail-form {
        width: 94%;
        margin: 60px auto 0 auto;
        text-align: center;
    }

    #recruit-detail-form > h2 {
        width: 164px;
        margin: 0 auto;
    }

    #recruit-detail-form > h2 > img {
        width: 164px;
    }

    #recruit-detail-form > p {
        width: 100%;
        margin: 30px auto 0 auto;
    }

    #recruit-detail-form > p > img {
        width: 100%;
    }


}
