/**************************************************

BASE

****************************************************/


/* title */

.ttl-home-2{
    font-size: 3.8rem;
    margin-bottom:20px;
}

section .ttl-home-1 small {
    display  : inline-block;
    font-size: 1.5rem;
    color    : #333;
}

.section1 .ttl-home-1 small,
.section4 .ttl-home-1 small{
    vertical-align: 15px;
    font-size: 1.9rem;
}

.section2 .ttl-home-1 small,
.section3 .ttl-home-1 small{
    vertical-align: 10px;
    font-size: 1.9rem;
}




/* hero-home slider */

.hero-image{
    overflow: hidden;
    position: relative;
}

#topVisual > div{
    overflow: hidden;
}

#topVisual img{
  display: block;
  width: 100%;
  height: auto;  
}

body .slick-dots{
    left: 50%;
    max-width: 1200px;
    transform: translateX(-50%);
    bottom:20px;
    z-index:10;
}

body .slick-dots li{
    width:15px;
    height:15px;
    margin:0 10px;
}

body .slick-dots li button{
    width:28px;
    height:7px;
    line-height:5px!important;
}

body .slick-dots li button::before{
    opacity: 1;
    line-height:15px!important;
    width:28px;
    height:7px;
    border-radius: 5px;
    font-size:15px;
    background:#cccccc;
    content:'';
}

body .slick-dots li.slick-active button::before{
    background:#0060be;
}

body .slick-dotted.slick-slider{
    margin-bottom:0;
}

.hero-image .area-txt{
    position: absolute;
    right: 0;
    bottom: 0;
    background: #46739B;
    color: #fff;
    padding: 25px 50px;
}

.hero-image .area-txt h2{
    margin-bottom: 20px;
    font-size: 5rem;
    line-height: 1.3;
}


 /*************************************************

CONTENTS

****************************************************/

/* section1 */

.section1{
    overflow: hidden;
    background: #f8f8f8;
}

.section1 .wrap{
    padding: 50px 0 30px;
}

.section1 .wrap h2 .webfont,
.section1 .wrap h2 small{
    /*display: block;*/
}

.section1 img.large{
    width: 100%;
}

.section1 .area-btn,
.section3 .area-btn{
    margin-top:30px;
}

/* section2 */

.section2{
    padding:70px 0;
}

.section2 p.webfont{
    font-size: 3.8rem;
}

.section2 .pure-g{
    margin:40px -22px 0;
}
.section2 .wrap1 .group1{
    margin: 60px -15px 40px;
}

.section2 .wrap1 .group1 [class*=unit]{
    padding: 0 15px;
}

.section2 .wrap1 .group1 .unit1{
    padding: 0 15px 50px;
}

.section2 .wrap1 .group1 [class*=unit] h3{
    font-size: 1.9rem;
    color: #fff;
    background: #46739b;
    text-align: center;
    padding: 15px;
    margin-bottom: 10px;
}

.section2 .wrap1 .group1 .unit1 h3.gold{
    color: #BF8F00;
}

.section2 .wrap1 .group1 .unit1 h3.silver{
    color: #A5A5A5;
}

.section2 .wrap1 .group1 [class*=unit] p{
    font-size: 1.5rem;
}

/* section3 */

.section3{
    padding:85px 0 75px;
    background: url(../../images/page/bg_home_1.jpg) no-repeat right top #fbfbfb;
    background-size: cover;
}

.section3 .ttl-home-1 small{
    display: inline-block;
    margin:0 0 0 10px;
}

/* section4 */
.section4{
    margin-top: 30px;
}

.section4 .unit1 img{
    width: 100%;
}

.section4 .unit2{
    display: block;
    position: relative;
}

.section4 .unit2 .unity{
    position: absolute;
    max-width: 510px;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
}

.section4 .unit2 .unity .area-btn{
    margin-top: 40px;
}

/* aside1 */

.aside1{
    padding:60px 0 30px;
}

.aside1 table{
    width: 100%;
    margin-bottom: 10px;
}

.aside1 th{
    width: 125px;
}

.aside1 th .ttl-home-1{
    margin-bottom: 0;
}

.aside1 td{
    padding-left: 40px;
}

.aside1 td li{
    border-bottom: 1px solid #ccc;
    padding:15px 0;
    font-size: 1.6rem;
}

.aside1 td li time{
    font-weight: bold;
    margin-right: 20px;
    color:#46739B;
}

.aside1 td li a{
    text-decoration: none;
}

a.more-link{
    float: right;
    color:#46739B;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    .section4 .unit2 .unity{
        position: static;
        transform: translateY(0);
        padding: 15px 15px 0;
        max-width: 100%;
    }
}


@media screen and (max-width:828px) {
    .hero-image .area-txt {
        position: static;
        right: 0;
        bottom: 0;
        background: #46739B;
        color: #fff;
        padding: 20px;
        text-align: center;
    }

    .hero-image .area-txt h2 {
        margin-bottom: 20px;
        font-size: 2.4rem;
        line-height: 1.3;
    }

    .flex-wrap {
        display: block;
        align-items: center;
    }

    .section1 .unit2 {
        padding: 20px;
    }

    .ttl-home-1 {
        font-size: 2.5rem;
        color: #46739B;
        text-align: center;
        margin-bottom: 15px;
    }

    .ttl-home-2{
        font-size: 2rem;
    }

    .section1 .ttl-home-2{
        font-size: 2.3rem;
    }

    .section1 .ttl-home-2 span{
        display: block;
    }

    .section1 .area-btn, .section3 .area-btn{
        text-align: center;
    }

    .section2,
    .section3,
    .aside1{
        padding: 40px 0;
    }

    .link-type-1 strong {
       display: inline-block;
        position: absolute;
        left: 0;
        right: 40px;
        bottom: 0;
        font-weight: bold;
        font-size: 1.7rem;
        background: #46739B;
        color: #fff;
        padding: 10px 15px;
    }

    .section2 p.webfont{
        font-size: 2.3rem;
    }

    .section2 .wrap1 .group1 [class*=unit]{
        margin-bottom: 20px;
    }

    .section2 .wrap1 .group1 .unit1{
        padding-bottom: 0;
    }

    .section2 .wrap1 .group1 [class*=unit] h3{
        font-size: 1.7rem;
    }

    .section2 .wrap1 .group1 [class*=unit]:last-of-type{
        margin-bottom: 0;
    }

    .section3 .area-txt{
        background: rgba(255,255,255,0.9);
        padding:20px;
        text-align: center;
    }

    .aside1 table,
    .aside1 tbody,
    .aside1 tr,
    .aside1 th,
    .aside1 td{
        display: block;
        width: 100%;
        height: auto;
        box-sizing: border-box;
    }

    .aside1 td {
        padding-left: 0;
        padding-top: 10px;
    }

    #topVisual img {
        display: block;
        width: 100%;
        height: 400px;
        object-fit: cover;
    }

    .link-type-1 {
        max-width: 370px;
        margin:0 auto 15px;
    }

    .section4 .group1{
        display: block;
    }

    .section4 .group1 [class*=unit]{
        width: 100%;
    }

    .section4 .unit2 .unity .area-btn{
        text-align: center;
    }

    .aside1 td li time{
        display: block;
        margin: 0;
    }

}

@media screen and (min-width:829px) and (max-width:1200px){
    .hero-image .area-txt {
        position: static;
        right: 0;
        bottom: 0;
        background: #46739B;
        color: #fff;
        padding: 25px 50px;
        text-align: center;
    }

    .ttl-home-1 {
        font-size: 3rem;
        color: #46739B;
        margin-bottom: 15px;
    }

    .hero-image .area-txt h2 br,
    .ttl-home-2 br{
        display: none;
    }

    .ttl-home-2 {
        font-size: 2rem;
        margin-bottom: 20px;
    }
}