@charset "utf-8";
/*
 * home CSS
 * ---------------------------------------------
 * 
 * 
 */

@import 'base.css';
@import 'parts.css';

/*===================================
	element	
=====================================*/
main {
    padding-top: 0;
}


/*===================================
    visual
=====================================*/
.visual {
    position: relative;
    z-index: 10;
}
@media screen and (min-width: 1000px) {
    .visual:before,.visual:after {
        display: block;
        position: absolute;
        top: 0;
        width: calc(50% - (500px));
        height: 314px;
        background: url("../images/home/bg_visual_pc.png") repeat-x 0 0;
    }
    .visual:before {
        left: 0;
    }
    .visual:after {
        right: 0;
    }
}
.visual img {
    margin: auto;
}

/*===================================
	box	
=====================================*/
.box:nth-of-type(1) {
    margin-top: 12px;
}
.box:nth-of-type(1):before {
    display: block;
    top: -12px;
    width: 122px;
    height: 14px;
    background-position: -750px -250px;
}
.box .btn {
    margin-left: calc(100% - (36px));
}
/*===================================
    sec1
=====================================*/

.type__list li {
    display: inline-block;
    vertical-align: top;
    position: relative;
    width: 246px;
    margin-right: 50px;
    text-align: left;
}
.type__list li:nth-last-of-type(1) {
    margin-right: 0;
}
.type__list figure {
    margin-bottom: 10px;
}
.type__list h3 {
    height: 35px;
    margin-bottom: 20px;
    padding-top: 10px;
    border-radius: 17px;
    background: #003399;
}
.type__list h3 img {
    height: 16px;
    margin: auto;
}
.type__list p {
    min-height: 3em;
    text-align: center;
}
.type__list .btn {
    margin: auto;
}
.type__list a.btn:before {
    display: block;
    position: absolute;
    bottom: 0;
    left: -105px;
    width: 246px;
    height: 480px;
}

/*===================================
    sec2
=====================================*/
.sec2 {
    background: #fff url("../images/home/sec2/illust_pc.png") no-repeat 723px 0;
}
.sec2 .image__list {
    letter-spacing: -.40em;
    font-size: 0;
    margin: 0 -5px 5px;
}
.sec2 .image__list img {
    display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
    width: 202px;
    margin: 0 5px 10px;
    font-size: 14px;
}
.sec2 a.btn:before {
    display: block;
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 940px;
    height: 426px;
}

/*===================================
    sec__strengths
=====================================*/
.sec__strengths {
    background: #fff url("../images/home/sec__strengths/illust.svg") no-repeat 855px 0;
    background-size: 44px auto;
}
.sec__strengths .sec__ttl img {
    width: 306px;
    height: auto;
}
.strengths__list {
    display: flex;
    flex-wrap: wrap;
}
.strengths__list > li {
    box-sizing: content-box;
    width: 223px;
}
.strengths__list > li:nth-of-type(2) {
    margin: 0 34px;
    padding: 0 34px;
    border-left: solid 1px #e5e5e5;
    border-right: solid 1px #e5e5e5;
}
.strengths__list h3 img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
.strengths__list li li {
    margin-bottom: 1em;
    padding-left: 1em;
    text-indent: -1em;
}
.strengths__list li li:before {
    display: inline;
    content: "●";
    color: #003399;
}
.strengths__list li li li,.strengths__list .note {
    font-size: 13px;
    margin-bottom: 0;
}
.strengths__list li li li:before {
    content: "・";
    color: #666;
}
.strengths__list ul ul + span {
    display: block;
    text-align: right;
}
.strengths__list .note {
    margin-top: .7em;
}

/*===================================
    sec3
=====================================*/
.sec3 {
    background: #fff url("../images/home/sec3/illust_pc.png") no-repeat 704px 0;
}

/*===================================
    sec4
=====================================*/
.sec4 {
    background: #fff url("../images/home/sec4/illust_pc.png") no-repeat 307px 0;
    text-align: left;
}
.sec4 p {
    width: 17em;
    height: 3.6em;
}
.sec4 .btn {
    margin-top: -30px;
}
.sec4 a.btn:before {
    display: block;
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 465px;
    height: 259px;
}

/*===================================
    sec5
=====================================*/
.sec5 {
    background: #fff url("../images/home/sec5/illust_pc.png") no-repeat 637px 0;
    text-align: center;
}


.sec5 a.btn:before {
    display: block;
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 465px;
    height: 259px;
}
@media screen and (min-width: 768px) {
    .sec5:after {
        display: none;
    }
    .sec5 .sec__ttl img {
        width: 251px; 
    }
    .sec5 a.btn {
        margin-top: -30px;
    }
    .sec5 p {
        text-align: center;
    }
}

/*===================================
    sec6
=====================================*/
.sec6 {
    background: #fff url("../images/home/sec6/illust_pc.png") no-repeat 823px 0;
}
.news__list {
    margin: 0 140px;
}
.news__list li {
    letter-spacing: -.40em;
    font-size: 0;
    margin-bottom: 20px;
}
.news__list li * {
    display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
    font-size: 14px;
}
.news__list .cat {
    width: 80px;
    height: 16px;
    margin: 4px 14px 0 0;
    border-radius: 8px;
    background: #003399 no-repeat 50% 50%;
    background-size: auto 11px;
    text-indent: -999em;
}
.news__list .cat.event {
    background-image: url("../images/home/sec6/text_cat_event.png");
    background-size: auto 10px;
}
.news__list .cat.media {
    background-image: url("../images/home/sec6/text_cat_media.png");
}
.news__list .cat.topics {
    background-image: url("../images/home/sec6/text_cat_topics.png");
}
.news__list time {
    width: 5em;
    margin-right: 18px;
}
.news__list p {
    overflow: hidden;
    width: 26em;
    height: 1.8em;
    text-overflow: ellipsis;
}

/*===================================
    notice
=====================================*/
.notice {
    position: absolute;
    left: 0;
    bottom: -72px;
    color: #fff;
}
.notice li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 11px;
    line-height: 1.2;
}

/************************************************************************************
smaller than 767px　max-width
*************************************************************************************/
@media screen and (max-width: 767px) {
	
	/*===================================
        element
    =====================================*/
    
    
    /*===================================
        box	
    =====================================*/
    .box:nth-of-type(1) {
        margin-top: 12px;
    }
    .box:nth-of-type(1):before {
        top: -22px;
        width: 248px;
        height: 24px;
        background-position: -750px -300px;
    }
    .box .btn {
        margin: auto;
    }
    
    /*===================================
        sec1
    =====================================*/

    .type__list li {
        display: block;
        width: auto;
        margin: 0 0 98px;
    }
    .type__list li:nth-last-of-type(1) {
        margin: 0;
    }
    .type__list figure {
        width: 370px;
        margin: 0 auto 20px;
    }
    .type__list h3 {
        width: 370px;
        height: 70px;
        margin: 0 auto 36px;
        padding-top: 19px;
        border-radius: 35px;
    }
    .type__list h3 img {
        height: 30px;
    }
    .type__list p {
        min-height: inherit;
        margin-bottom: 1.6em;
    }
    .type__list a.btn:before {
        left: -270px;
        width: 600px;
        height: 733px;
    }
    
    /*===================================
        sec2
    =====================================*/
    .sec2 {
        background-image: url("../images/home/sec2/illust_sp.png");
        background-position: 100% 50px;
        text-align: left;
    }
    .sec2 .image__list {
        margin: 0 -7px 36px;
    }
    .sec2 .image__list img {
        width: 288px;
        margin: 0 7px 10px;
        font-size: 24px;
    }
    .sec2 a.btn:before {
        bottom: -80px;
        right: -300px;
        width: 670px;
        height: 1090px;
    }
    
    /*===================================
        sec3
    =====================================*/
    .sec3 {
        background-image: url("../images/home/sec3/illust_sp.png");
        background-position: 100% 0;
        text-align: left;
    }

    /*===================================
        secThreeStrengths
    =====================================*/
    .sec__strengths {
        background-position: 495px 0;
        background-size: 88px auto;
        text-align: left;
    }
    .sec__strengths .sec__ttl img {
        width: 295px;
    }
    .strengths__list {
        display: inherit;
        flex-wrap: inherit;
    }
    .strengths__list > li {
        box-sizing: border-box;
        width: auto;
    }
    .strengths__list > li:not(:nth-last-of-type(1)) {
        margin-bottom: 70px;
    }
    .strengths__list > li:nth-of-type(2) {
        margin: 0 0 80px;
        padding: 0;
        border: none;
    }
    .strengths__list h3 img {
        margin-bottom: 80px;
    }
    .strengths__list li li li,.strengths__list .note {
        font-size: 22px;
    }

    
    /*===================================
        sec4
    =====================================*/
    .sec4 {
        background-image: url("../images/home/sec4/illust_sp.png");
        background-position: 359px 0;
    }
    .sec4 p {
        width: auto;
        height: auto;
    }
    .sec4 .btn {
        margin-top: 30px;
    }
    .sec4 a.btn:before {
        bottom: -80px;
        right: -300px;
        width: 670px;
        height: 592px;
    }
    
    /*===================================
        sec5
    =====================================*/
    .sec5 {
        background-image: url("../images/home/sec5/illust_sp.png");
        background-position: 100% 0;
        text-align: left;
    }
    .sec5 p {
        width: auto;
        height: auto;
    }
    .sec5 .btn {
        margin-top: 30px;
    }
    .sec5 a.btn:before {
        bottom: -80px;
        right: -300px;
        width: 670px;
        height: 592px;
    }
    
    /*===================================
        sec6
    =====================================*/
    .sec6 {
        background-image: url("../images/home/sec6/illust_sp.png");
        background-position: 489px 0;
        text-align: left;
    }
    .news__list {
        margin: 0 0 40px;
    }
    .news__list li {
        margin-bottom: 25px;
    }
    .news__list li * {
        font-size: 24px;
    }
    .news__list .cat {
        width: 160px;
        height: 32px;
        margin: 4px 30px 0 0;
        border-radius: 16px;
        background-size: auto auto;
    }
    .news__list .cat.event {
        background-size: auto 19px;
    }
    .news__list time {
        width: 5em;
        margin-right: 0;
    }
    .news__list p {
        display: block;
        overflow: visible;
        width: auto;
        height: auto;
        margin-top: 5px;
    }

    /*===================================
        sec6
    =====================================*/
    section.contact__info.box:nth-last-of-type(1) {
        margin-bottom: 442px;
    }
    section.contact__info.box:nth-last-of-type(1):after {
        bottom: -444px;
        width: 236px;
        height: 444px;
        background: url("../images/home/drop.svg") no-repeat 0 0;
        background-size: 100% auto;
    }
    
    /*===================================
        notice
    =====================================*/
    .notice {
        left: 0;
        bottom: -300px;
        margin: 0  70px 0 40px;
    }
    .notice li {
        font-size: 22px;
        line-height: 1.4;
    }
}