@charset "utf-8";

/* --------------------------------
   □  共通
--------------------------------*/ 
#main section{
    padding: 80px 0;
    margin: 0 auto 70px;
}

/* --------------------------------
   □  news
--------------------------------*/ 
#news{
    padding: 0;    
}
#news .newsInfo{
    justify-content: center;
    flex-wrap: nowrap;
    background: url("../../images/index/news_bg.svg") center no-repeat;
    background-size: contain;
    padding: 0 40px;
}
#news .newsInfo .title{    
    min-width: 162px;
    text-align: center;
    padding-right: 4%;
}
    #news .newsInfo .title h3{
        margin-bottom: 26px;
    }
#news .newsInfo ul.list{
    width: 728px;
    line-height: 1;
}
    #news .newsInfo ul.list li{
        text-align: left;
        padding: 20px 10px;
        border-top: 1px solid #E5E5E5
    }
        #news .newsInfo ul.list li:first-child{ 
            border-top: none;
        }   
    #news .newsInfo ul.list li a {
        display: block;
    }
    #news .newsInfo ul.list li dl{
        display: table;
        width: 100%;
    }
        #news .newsInfo ul.list li dl > *{
            display: table-cell;
            vertical-align: middle;
        }
        #news .newsInfo ul.list li dl > dt{
            width: 96px;
            color: #965D57;
        }
        #news .newsInfo ul.list li dl > dd.text{
            padding-left: 30px;
            padding-right: 30px;
        }
        #news .newsInfo ul.list li:hover{
            opacity: 0.7;
        }
        /*
        #news .newsInfo ul.list li:hover a dd:after {
            content: "";
            display: inline-block;
            width: 15px;
            height: 11px;
            margin-left: 20px;
            background: url(../../images/common/icon/right.svg) no-repeat right center;
            background-size: contain;
            transition: all 300ms 0s ease;
        }
        */
#news .newsInfo .buttonStyle a{
    width: 100%;
    padding: 10px 30px;
}
    #news .newsInfo .buttonStyle a span:before{
        content: none;
    }
    #news .newsInfo .buttonStyle a span:after{
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        right: 15%;
        display: inline-block;
        width: 15px;
        height: 11px;
        margin-left: 5px;
        background: url(../../images/common/icon/right.svg) no-repeat right center;
        background-size: contain;            
        z-index: 1;
        transition: all 300ms 0s ease;
    }
    #news .newsInfo .buttonStyle a:hover span:after {
        right: 10%;
    }

/* --------------------------------
   □ greeting
--------------------------------*/
#greeting .container {
    background: #EBF3DF url(../../images/index/greeting_bg.jpg)  center no-repeat;
    border-radius: 12px;
    padding: 70px 0;
    text-align: center;
}
#greeting .flexbox {
    max-width: 1100px;
    margin: auto;
    align-items: flex-end;
}
#greeting .txtArea {
    width: 57%;
}
    #greeting .txtArea h3.lv3,
    #greeting .txtArea .description {
        text-align: left;
    }
    #greeting .txtArea .description p {
        line-height: 2;
    }
#greeting .buttonArea{
    width: 43%;
    max-width: 340px;
}

/* --------------------------------
    □ 　#information  
-------------------------------- */
#information .flexbox{
    justify-content: space-between;
}
#information .textArea{
    width: calc(57% - 34px);
    margin-right: 34px;
    box-sizing: border-box;
}
#information .address{
    margin-bottom: 30px;
}
#information .map{
    width: 43%;
    max-width: 525px;
}
    #information .map iframe {
        border-radius: 8px;
        overflow: hidden;
    }

@media (max-width: 1300px) and (min-width: 768px) {
    /* --------------------------------
    □ 　#greeting    
    -------------------------------- */
    #greeting .flexbox {
        padding: 0 20px;
    }

    /* --------------------------------
    □ 　#information  
    -------------------------------- */
    #information .flexbox.end {
        align-items: center;
    }
}

/* タブレット用
-------------------------------------------- */
@media (max-width: 999px) and 
(min-width: 768px) {
    /* --------------------------------
    □ 　#information  
    -------------------------------- */
    #information .schedule .flexbox {
        display: block;
    }
    #information .schedule .listdot{
        margin-bottom: 30px;
    }
    #information .schedule .image{
        text-align: center;
    }
}

@media only screen and
(max-width : 767px) {
        
    /* --------------------------------
    □ 　#news    
    -------------------------------- */
    #news .newsInfo{
        padding: 0;
        background: none;
    }
    #news .newsInfo ul.list li{
        padding: 15px 0px;
    }
        #news .newsInfo ul.list li:first-child{
            border-top: 1px solid #E5E5E5;
        }
        #news .newsInfo ul.list li:last-child{
            border-bottom: 1px solid #E5E5E5;
        }
    /*
    #news .newsInfo ul.list li a {
        display: block;
        background: url(../../images/common/icon/right.svg) 100% 50% no-repeat;
    }
    */
    #news .newsInfo ul.list li dl > dt{     
        display: block;
        width: auto;
        padding: 0px;
        font-size: 93.75%;
        margin-bottom: 5px;
    }
    #news .newsInfo ul.list li dl > dd.text{         
        display: block;
        padding: 0;
        line-height: 1.5;
        font-size: 93.75%;
    }
    #news .newsInfo .buttonStyle{
        margin-top: 30px;
    }
        #news .newsInfo .buttonStyle a{
            width: auto;
            min-width: 208px;
            padding: 14px 50px;
            border-radius: 26px;
        }

    /* --------------------------------
    □ 　#greeting    
    -------------------------------- */
    #greeting .container {
        margin: 0;
        padding: 46px 4%;
        background: #E5EFD7 url(../../images/index/greeting_bg_sp.jpg) right bottom no-repeat;
        border-radius: 0;
    }
    #greeting .txtArea {
        margin-bottom: 30px;
    }
    #greeting .buttonArea {
        max-width: inherit;
    }

    /* --------------------------------
    □ 　#information   
    -------------------------------- */
    #information .textArea{
        width: 100%;
        margin: 0 0 30px 0;
    }
        #information .textArea p{
            text-align: center;
        }
        #information .textArea p.image {
            border-radius: 8px;
            overflow: hidden;
        }
    #information .map {
        width: 108%;
        margin: 0 -4%;
        max-width: inherit;
    }
        #information .map iframe {
            border-radius: 0;
            height: 100vw;
        }    
    #information .schedule table tbody td {
        min-width: 30px;
        text-align: center;
    }
    #information .schedule ul.asterisk {
        margin-top: 10px;
    }
        #information .schedule ul.asterisk li {
            font-size: 92.85%;
        }
    
}