@charset "UTF-8";

/*----------------------------------------------------
	☆PC
----------------------------------------------------*/

/*--- mainTitle --*/
#mainTitle::before{
    background: url("../images/gallery/bg_title.jpg") right bottom / auto 100% no-repeat;
}

/*--- map --*/
#contents .map{
    position: relative;
    aspect-ratio: 96 / 58;
    max-width: 960px;
    margin: 0 auto;
}
#contents .map picture,
#contents .map .deco{
    display: block;
    top: 0;
    transition: .4s;
}
#contents .map .deco01{
    width: 40.625%;
    right: 0;
    left: auto;
}
#contents .map .deco02{
    width: 12.5%;
    left: 46.875%
}
#contents .map .deco03{
    width: 46.875%;
    left: 0;
}
#contents .map img:hover{
    cursor: pointer;
}

#contents .map .area{
    left: 0;
    top: 0;
    z-index: 1;
}
#contents .map .area01{
    width: 51.25%;
    margin: 12.6% 0 0 16%;
}
#contents .map .area02{
    width: 52.8125%;
    margin: 23.2% 0 0 1.25%;
}
#contents .map .area03{
    width: 46.45%;
    margin: 50.5% 0 0 39%;
}

#contents .map .area:hover{
    transform: translate(0,8px);
}

/*--- block --*/

#contents .block .head{
    height: 480px;
    background-position: center top;
    background-size: cover;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#contents .block .head .titleBox{
    background: #e21b13;
    padding: 1px 40px 60px 40px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: -90px;
    width: 90%;
    max-width: 900px;
}
#contents #ac02.block .head .titleBox{ background: #ffda00;}
#contents #ac02.block .head .titleBox .title{ color: #000;}
#contents #ac03.block .head .titleBox{ background: #35b697;}

#contents .block .head .titleBox .icon{
    margin-top: -30px;
    margin-bottom: 50px;
    max-width: 83px;
}

#contents .block .head .titleBox .title {
    display: flex;
    color: #fff;
    flex-direction: column;
    justify-content: center;
}
#contents .block .head .titleBox .title .en{
    font-size: 20px;
    opacity: 0.5;
    line-height: 1.2;
    margin-bottom: 10px;
}

#contents .block .head .titleBox .title .jp{
    font-size: 42px;
    line-height: 1.2;
}

#contents .block .inrWhiteBox{
    max-width: 1320px;
    padding: 100px;
    margin-top: -100px;
    position: relative;
    z-index: 1;
}

#contents .block .inrWhiteBox ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -60px -60px;
}

#contents .block .inrWhiteBox ul li{
    width: calc((100% - (60px * 3)) / 3);
    margin: 0 0 60px 60px;
}

#contents .block .inrWhiteBox ul li .image{
    position: relative;
    margin-bottom: 20px;
    aspect-ratio: 1 / 1;
}
#contents .block .inrWhiteBox ul li .image .imageInr{
    aspect-ratio: 1 / 1;
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: relative;
}

#contents .block .inrWhiteBox ul li .image img:not(.zoom){
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: .4s;
}
#contents .block .inrWhiteBox ul li .image:hover img:not(.zoom){
    transform: translate(-50%,-50%) scale(1.08);    
}
#contents .block .inrWhiteBox ul li .image figcaption{
    position: absolute;
    left: -20px;
    bottom: 20px;
}
#contents .block .inrWhiteBox ul li .image .inr{
    display: table;
    box-shadow: -1px 3px 6px rgba(0, 0, 0, 0.20);
    background: #fff;
    line-height: 1;
    padding: 12px 15px;
    font-size: 16px;
    font-weight: bold;
}
#contents .block .inrWhiteBox ul li .image .inr + .inr{
    margin-top: 5px;
}

#contents .block .inrWhiteBox ul li .image .zoom{
    border-radius: 100px;
    background: #ffda00;
    width: 40px;
    right: 10px;
    bottom: 10px;
    transition: .4s;
}

#contents .block .inrWhiteBox ul li .image:hover .zoom{
    background: #e21b13;
}

#contents .block .inrWhiteBox ul li .text{
    line-height: 1.75;
}


/*----------------------------------------------------
	☆ANIMATION
----------------------------------------------------*/



/*----------------------------------------------------
	☆901以上　PCのみ & HOVER
----------------------------------------------------*/

@media screen and (min-width:901px) {
}


/*----------------------------------------------------
	☆TOP UNDER 1200
----------------------------------------------------*/

@media screen and (max-width:1200px) {
    
    #contents .block .inrWhiteBox {
        padding: 60px;
        margin-top: -60px;
    }
    #contents .block .inrWhiteBox ul li {
        width: calc((100% - (60px * 2)) / 2);
    }
}

/*----------------------------------------------------
	☆TOP UNDER 900
----------------------------------------------------*/

@media screen and (max-width:900px) { 
    
    
    #contents .block .head .titleBox .title .en {
        font-size: 2.5vw;
    }
    #contents .block .head .titleBox .title .jp {
        font-size: 5vw;
    }
    #contents .block .inrWhiteBox ul {
        margin-left: -30px;
    }
    #contents .block .inrWhiteBox ul li {
        width: calc((100% - (30px * 2)) / 2);
        margin-left: 30px;
    }
    
}


/*----------------------------------------------------
	☆TOP UNDER 600
----------------------------------------------------*/

@media screen and (max-width:600px) {
    
    /*--- map --*/
    #contents .map{
        aspect-ratio: 1000 / 905;
        max-width: 400px;
    }
    #contents .map .deco01{
        width: 44.75%;
        right: 0;
        left: auto;
    }
    #contents .map .deco02{
        width: 15.5%;
        left: 41%
    }
    #contents .map .deco03{
        width: 39.75%;
        left: 0;
    }
    #contents .map .area01{
        width: 52.8%;
        margin: 3.9% 0 0 11.9%;
    }
    #contents .map .area02{
        width: 46.2%;
        margin: 24.9% 0 0 5.7%;
    }
    #contents .map .area03{
        width: 49.9%;
        margin: 65.8% 0 0 29.4%;
    }

    #contents .map .area:hover{
        transform: translate(0,8px);
    }

    
    
    /*--- block --*/
    
    #contents #ac01.block .head{
        background-position: left top;
    }
    #contents #ac02.block .head,
    #contents #ac03.block .head{
        background-position: right center;
    }
    
    #contents .block .head {
        height: 240px;
    }
    
    #contents .block .head .titleBox {
        padding: 1px 10px 30px 10px;
        margin-top: -20px;
    }
    #contents .block .head .titleBox .icon {
        margin-top: -25px;
        margin-bottom: 10px;
        max-width: 60px;
    }
    
    #contents .block .inrWhiteBox {
        padding: 40px;
        margin-top: -40px;
    }
    
    #contents .block .inrWhiteBox ul {
        max-width: 300px;
        margin: 0 auto -40px;
    }
    #contents .block .inrWhiteBox ul li{
        width: 100%;
        margin: 0 0 40px 0;
    }
    #contents .block .inrWhiteBox ul li .image .zoom {
        width: 30px;
        right: 7px;
        bottom: 7px;
    }
    #contents .block .inrWhiteBox ul li .image figcaption {
        left: -20px;
        bottom: 10px;
    }
    #contents .block .inrWhiteBox ul li .image figcaption .inr {
        padding: 10px 12px;
        font-size: 13px;
        letter-spacing: 0.02em;
    }
    
    
}

