@charset "UTF-8";
/*--------------------------accordion--------------------------*/

/*Time to apply widths for accordian to work
Width of image = 640px
total images = 5
so width of hovered image = 640px
width of un-hovered image = 40px - you can set this to anything
so total container width = 640 + 40*4 = 800px;
default width = 800/5 = 160px;
*/

.accordian {
    width: 1280px; height: 400px;
    overflow: hidden;
    /*Time for some styling*/
    margin: 0 auto 10px;
}
.accordian a{
    text-decoration: none;
    pointer-events: none;
}
.accordian a img{
    opacity: 1;
}

/*A small hack to prevent flickering on some browsers*/
.accordian ul {
    width: 2000px;
    /*This will give ample space to the last item to move
    instead of falling down/flickering during hovers.*/
}

.accordian li {
    position: relative;
    display: block;
    width: 321px;
    height: 400px;
    float: left;
    overflow: hidden;
    /*Transitions to give animation effect*/
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    /*If you hover on the images now you should be able to 
    see the basic accordian*/
}
.accordian li .ttl{
	position: absolute;
	top: 35px;
	right: 30px;
}

/*Reduce with of un-hovered elements*/
.accordian ul:hover li {width: 133px !important ;}
/*Lets apply hover effects now*/
/*The LI hover style should override the UL hover style*/
.accordian ul li:hover {width: 880px !important ;}

.accordian ul li{
    background-position-x: 0%;
    background-repeat: no-repeat;
    background-size: 880px auto;
}
.accordian ul:hover li{
    background-position-x: 100%;
}
.accordian ul .slide01{
    background-image: url(../img/index/index-slide01-2021.jpg);
}
.accordian ul .slide02{
    background-image: url(../img/index/index-slide02-2021.jpg);
}
.accordian ul .slide03{
    background-image: url(../img/index/index-slide03-2021.jpg);
}
.accordian ul .slide04{
    background-image: url(../img/index/index-slide04-2021.jpg);
}
.lead-txt{
    display: none;  
}

/*Image title styles*/
.image_title {
    position: absolute;
    left: 0; bottom: 0;
    width: 880px;
}
.slide01 .image_title {
    background-color: #a4c213;
}
.slide02 .image_title {
    background-color: #14ace7;
}
.slide03 .image_title {
    background-color: #f3c304;
}
.slide04 .image_title {
    background-color: #f97b7b;
}
.image_title a {
    height: 133px;
    line-height: 1.14;
    padding-left: 40px;
    text-decoration: none;
    font-size: 40px;
    color: #fff;
    display: flex;  
    flex-direction: column;
    justify-content: center;
}
.accordian ul .slide01 .image_title a span{
    display: inline-block;
    width: 240px;
    height: 50px;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 100%;
    background: url(../img/index/index-slide01-tx.png) no-repeat;
    background-size: 100% auto;
}
.accordian ul:hover .image_title a span{
    display: none;
}
.accordian ul li:hover .image_title span {
    display: inline-block; 
}
@media screen and (max-width: 767px) {
    .slide-sp{
        width: 100%;
    }
    .slide-sp ul{
        position: relative;
        display: block;
        padding-top: 68%;
    }
    .slide-sp li{
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        top: -0.5%;
        left: 0;
    }
    .slide-sp img{
        width: 100%;
        height: auto;
    }
    .slide-sp li.next {
        left: 50px;
        opacity: 0;
    }
}

/*--------------------------sec--------------------------*/
.sec01,.sec03,.sec04{
    padding-top: 100px;
}
.sec04sec05{
    display: flex;
}
.ti{
    width: 100%;
    margin-bottom: 20px;
    color: #666;
}
.ti:before{
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-bottom: 0.2em;
    margin-right: 15px;
    vertical-align: middle;
    background: url(../img/index/index-sec-ico01.png) 50% 50% no-repeat;
}
.txt{
    line-height: 1.7;
}
@media screen and (max-width: 767px) {
    .sec01,.sec03,.sec04{
        padding-top: 20%;
    }
    .sec04sec05{
        display: block; 
    }
    .sec-ti{
        margin-bottom: 10%;  
    }
    .ti:before{
        margin-right: 0.5em;    
    }
}
/*--------------------------sec01--------------------------*/
.sec01 .box{
    padding-bottom: 100px;
    background: url(../img/index/index-sec01-bg.jpg) 50% 0% no-repeat;
}
.sec01 .lead-ti{
    margin-bottom: 40px;
    line-height: 1.6;
}
.sec01 .box em{
    font-style: normal;
}
.em01{
    color: #b5d22b;
}
.em02{
    color: #27b6eb;
}
.em03{
    color: #dfdf18;
}
.em04{
    color: #f9c;
}
.sec01 .txt{
    line-height: 2.4;
}
@media screen and (max-width: 767px) {
    .sec01 .sec-ti{
        margin-bottom: 0;   
    }
    .sec01 .lead-ti{
        margin-bottom: 1em;
    }
    .sec01 .box{
        padding-bottom: 10%;
        background: none;
    }
    .sec01 .box:before,
    .sec01 .box:after{
        content: "";
        display: block;
        width: 100%;
        padding-top: 38%;
        background: 50% 50% no-repeat;
        background-size: 100% auto;
    }
    .sec01 .box:before{
        background-image: url(../img/index/index-sec01-bg_sp01.jpg);
    }
    .sec01 .box:after{
        background-image: url(../img/index/index-sec01-bg_sp02.jpg);
    }
    .sec01 .txt{
        font-size: 3.85vw;
    }
}
/*--------------------------sec02--------------------------*/
.sec02 .box{
    float: left;
    width: 540px;
}
.sec02 .box +.box{
    float: right;
}
.fb-box{
    width: 540px;
    height: 340px;
    text-align: center;
}
.insta-box{
    height:477px;
    overflow-y: scroll;
}
@media screen and (max-width: 767px) {
    .sec02 .box{
        float: none;
        width: 100%;
        margin-bottom: 10%; 
    }
    .sec02 .box +.box{
        float: none;
        margin-bottom: 0;   
    }
    .fb-box{
        width: 100%;
    }
    .insta-box{
        margin-top:200px;
    }
}
/*--------------------------sec03--------------------------*/
.sec03 .box{
   /*  display: flex;
   flex-wrap: wrap;
   justify-content: space-between; */
    margin-bottom: 30px;
}
.sec03 .box:last-child{
    margin-bottom: 0;
}
.news-box{
    text-decoration:none;
}
.news-box dl{
    display: flex;
}
.news-box dl dt{
    padding:1rem;
    color:#999;
}
.news-box dl dd{
    padding:1rem;
    line-height:1.2;
}
.more{
    text-align:right;
    margin-bottom:50px;
}
.more a{
    text-decoration:none;
}

.info-box{
    display: block;
    width: 320px;
    height: 320px;
    padding: 10px;
    text-decoration: none;
    border: 1px solid #cccccc;
    float: left;
    margin-right: 45px;
}
.info-box:nth-of-type(n + 4){
    margin-top: 20px;
}
.info-box .img{
    margin-bottom: 15px;
}
.info-box .date{
    margin-bottom: 15px;
    font-size: 11px;
    color: #999;
}
.cta{
    width:1120px;
    height:300px;
    margin:100px auto 60px auto;
    border:1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cta-logo{
    background-color:#f7f7f7;
    display: flex;
    justify-content: center;
    align-items: center;
    width:50%;
    height:100%;
}
.cta-txt{
    width:50%;
    font-size:14px;
}
.cta-headline{
    font-weight: bold;
    color: #29B5EA;
    text-align: center;
    line-height:1.4;
}
.cta-description{
    text-align: center;
    margin-top: 20px;
    line-height:1.4;
}
.button a{
    display: block;
    width: 360px;
    padding: 2rem 0;
    margin: 20px auto 0 auto;
    color: #fff;
    background-color: #2952EA;
    text-decoration:none;
    text-align:center;
    transition:all .2s;
}
.button a i{
    margin-left:1rem;
}
.button a:hover{
    background-color:#EA8929;
}
@media screen and (max-width: 767px) {
    .sec03{
        float: none;
        width: 100%;
    }
    .sec03 .box{
        margin-bottom: 10%;
    }
    .info-box{
        float: none;
        width: 100%;
        height: auto;
        padding: 1.3%;
        margin-bottom: 5%;
        margin-right: 0;
    }
    .info-box:nth-of-type(n + 4){
        margin-top: 0;
    }
    .info-box +.info-box{
        margin-left: 0;
    }
    .info-box:last-child{
        margin-bottom: 0;
    }
    .info-box .img{
        float: left;
        width: 47%;
        margin-bottom: 0;
    }
    .info-box .img img{
        width: 100%;
        height: auto;
        vertical-align: bottom;
    }
    .info-box .date{
        font-size: 4vw;
        margin: 0.5em 0 0.8em;
    }
    .info-box .date,
    .info-box .title{
        margin-left: 50%;
    }
    .cta{
        width:93%;
        height:auto;
        display: flex;
        flex-direction: column;
    }
    .cta-logo{
        width:100%;
        height:200px;
    }
    .cta-txt{
        width:100%;
        padding: 50px 20px;
    }
    .cta-description{
        text-align:left;
    }
    .button a{
        width:auto;
    }
}
/*--------------------------sec04--------------------------*/
.sec04{
    width: 540px;
    float: left;
    padding-bottom: 90px;
}
.sec04 .box{
    margin-bottom: 40px;
}
.sec04 .ph{
    float: left;
    width: 240px;
}
.sec04 .txt{
    float: right;
    width: 250px;
}
.detail-link{
    position: relative;
    display: block;
    height: 50px;
    padding-right: 40px;
    line-height: 50px;
    text-align: right;
    text-decoration: none;
    color: #000;
}
.detail-link:after{
    content: "";
    position: absolute;
    display: block;
    width: 36px;
    height: 36px;
    top: 0;
    bottom: 0;
    right: 5px;
    margin: auto;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .sec04{
        float: none;
        width: 100%;
        padding-bottom: 14%;    
    }
    .sec04 .box{
        margin-bottom: 10%;
    }
    .sec04 .ph{
        float: none;
        width: 100%;
        margin-bottom: 4%;
        text-align: center;
    }
    .sec04 .staff-name{
        display: block !important;
        margin-bottom: 0.5em;
        padding-bottom: 0.2em;
        font-size: 5vw;
        border-bottom: 1px dashed #cccccc;
    }
    .sec04 .txt{
        float: none;
        width: 100%;
    }
    .detail-link{
        display: inline-block;  
        font-size: 4.5vw; 
    }
}
/*--------------------------sec05--------------------------*/
.sec05{
    width: 560px;
    margin-left: 20px;
    padding-top: 5px;
}
.reserve-link{
    width: 300px;
    height: 200px;
    text-decoration: none;
    color: #fff;
    background: url(../img/common/hd-bg.png) #297fea;
}
.reserve-link .rev{
    display: block;
    width: 70px;
    height: 100px;
    background: url(../img/index/index-rev-ico01.png) 50% 50% no-repeat;
}
.reserve-link span{
    position: relative;
    display: inline-block;
    width: 220px;
    height: 30px;
    line-height: 30px;
    text-align: center;
}
.reserve-link span:after{
    content: "";
    position: absolute;
    display: inline-block;
    width: 15px;
    height: 15px;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
    .sec05{
        width: 100%;
        margin-left: 0; 
        padding-top: 0;
        padding-bottom: 35%;    
    }
    .reserve-link{
        width: 70%; 
        height: 150px;  
    }
    .reserve-link span{
        width: 85%;    
    }
}